如何在js的for循环里按顺序执行异步请求

最近在做WX小程序,有个文章评论页面,下面的显示的评论一次向服务器只能请求10条 请求数据的时候要传个page=1这样的参数 现在有个需求是我知道了总的评论数量比如是32 就是要请求4次 我要一次显示出所有的评论 

我现在是这样写的:

this.data.repDetailInfo = [] //先把data中要循环到页面评论数组 设为空
for(let i=1;i<=4;i++){ //利用for循环向服务器请求1至4页的数据
server.get(url.rep_list, {
page:i
}).then((res) => {
//返回的结果是一个数组
 this.setData({
//将新的数组加到data里旧的数组里,页面也随之更新出所有的评论
repDetailInfo: res.concat(this.data.repDetailInfo)
 })
})

我按照这样写完可以获得所有评论 但4组评论顺序不固定 有时候是对的 有时候是乱的 想问下有没有什么办法能让请求的数组按顺序拼接好,谢谢大神指点下

39sakuchan
浏览 3668回答 1
1回答

橋本奈奈未

用Promise.all另外,为什么服务器不支持传参数来决定要查询几条。最好是一次请求的。
打开App,查看更多内容
随时随地看视频慕课网APP