holdtom
functiontraverse(arr){leti=0letlen=arr.lengthreturnfunctionrecursion(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)//打印最后一次请求的结果