for 循环里调用ajax,for循环中ajax异步问题如何解决?

这段代码展示了一个使用递归实现的AJAX JSONP请求。通过调用getUrl函数获取API地址,然后进行GET请求。在success回调中,当请求成功并返回字符串类型的数据时,会继续进行下一次递归调用。若请求失败,错误处理函数会确保递归依然继续,确保所有请求都被处理。此代码主要涉及前端异步数据获取和递归编程技巧。
摘要由CSDN通过智能技术生成

采用递归,直接看代码吧

function getData(idArr, i){

if (idArr.length) {

var id = idArr[0];

var url = getUrl(hqData.api,id);

console.log(i, 111)

$.ajax({

type: "GET",

url: url,

dataType: "jsonp",

jsonp:'cb',

async: true, //这里异步就好了

success:function(json){

if(!!json&& typeof json[0]=='string'){

console.log(json,222)

}

getData(idArr.shift(), ++i); //回调成功再进入下一次递归

},

error: function() {

getData(idArr.shift(), ++i); //如果ajax请求失败仍需要继续下一步递归

}

})

}

}

getData(hqData.idArr, 0)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值