for循环中异步问题解决方法

采用递归方法

function getData(idArr){
       
        console.log(idArr[0])
        $.ajax({
            type: "GET",
            url: url,
            dataType: "jsonp",
            jsonp:'cb',
            async: true, //这里异步就好了
            success:function(json){
               idArr.shift()//删除第一项
                if(idArr.length){
                    getData(idArr); //回调成功再进入下一次递归
                }
                
            },
            error: function() {
                idArr.shift()//删除第一项
                if(idArr.length){
                    getData(idArr);  //如果ajax请求失败仍需要继续下一步递归
                }
            }
        })
    
}

getData(idArr)

参考:https://segmentfault.com/q/1010000011767450?sort=created

你可能感兴趣的:(JavaScript)