js for循环内调用接口,set到数组,顺序不对的问题

JavaScript012

js for循环内调用接口,set到数组,顺序不对的问题,第1张

常规方法,循环内调用接口,会出现放回的值所在数组的位置错误

碰到这种情况如下解决

利用promise.all 一次性调用所有的接口,来请求到所有的值,

不要用for循环,而是在每次ajax的回调函数中再次发送下一个ajax请求,这样就能保证每次ajax都是在上一次ajax已完成的时候才发送的:

var i = 0

function Ajax(){

$.post(vPostPhpUrl, {

arrDaoRuDiZhi: JSON.stringify(vDaoRuDiZhi.slice(i, i + 1000)).replace(/\\r/g, "")

}, function (data, status) {

var arrFanHui = JSON.parse(data)

//这里根据需要对返回的数据进行处理

if(++i<vRow)Ajax() //继续下一个ajax请求

})

}

Ajax() //开始第一次ajax请求