为了账号安全,请及时绑定邮箱和手机立即绑定

js遍历一个数组,怎么在每次遍历的时候发送一个异步请求,然后请求成功后在进行下一步循环

js遍历一个数组,怎么在每次遍历的时候发送一个异步请求,然后请求成功后在进行下一步循环

慕尼黑5688855 2019-05-21 16:47:05
js遍历一个数组,怎么在每次遍历的时候发送一个异步请求,然后请求成功后在进行下一步循环(主要是下一步循环调请求的时候需要使用上一次请求的数据),在线急等!!
查看完整描述

2 回答

?
一只甜甜圈

TA贡献1836条经验 获得超5个赞

你可能需要了解一下数组迭代器。。。上面说的有点偏题,其实楼主的问题,上面已经给了答案,只不过答案来的太直接,楼主其实想串行执行一个与数组元素对应的方法,那就是个异步队列,那这个的话,promise是最佳人选啊。
                            
查看完整回答
反对 回复 2019-05-21
?
holdtom

TA贡献1805条经验 获得超10个赞

functiontraverse(arr){
leti=0
letlen=arr.length
returnfunctionrecursion(d){
if(i>=len)returnPromise.resolve(d)//最后一次请求的结果
letdata=arr[i++]
//letparams={//data是循环的数据,d是上次请求返回的数据
//data,
//d
//}
returnnewPromise((resolve,reject)=>{//promise替换成你的异步请求
setTimeout(()=>{
resolve(data+d)
},1000)
}).then(d=>{//处理请求后的数据
console.log(d)
recursion(d)//把请求后的数据传给下一次调用
})
}
}
vararr=[1,2,3,4]
varfun=traverse(arr)
fun(0).then(console)//打印最后一次请求的结果
                            
查看完整回答
反对 回复 2019-05-21
  • 2 回答
  • 0 关注
  • 2094 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信