有一个数组,里面存储的是10个url,需求是每次从数组中取出两个url,发送ajax请求获取数据,拿到这两个请求的结果后再继续从剩下的url中取出两个,重复之前的过程直到将这10个url发送完并都拿到结果。这个用Promise要怎么编码实现?最好写出参考代码。大家帮帮忙!
1 回答

紫衣仙女
TA贡献1839条经验 获得超15个赞
var urls = ['url','...'], data = [];
var buildRequest = function(url) {
if (url) {
return $.get(url);
}
};
var request = function() {
if (urls && urls.length) {
data.push(buildRequest(urls.shift()));
data.push(buildRequest(urls.shift()));
}
if (data.length) {
$.when.apply(this,data).then(function(res1,res2){
//TODO
}).then(function(){
data = [];
request();
});
}
};
request();
我一般会这样写
添加回答
举报
0/150
提交
取消