猿问

一道JS题:如何循环一个url列表,按顺序发送url

有一个数组,里面存储的是10个url,需求是每次从数组中取出两个url,发送ajax请求获取数据,拿到这两个请求的结果后再继续从剩下的url中取出两个,重复之前的过程直到将这10个url发送完并都拿到结果。

这个用Promise要怎么编码实现?最好写出参考代码。大家帮帮忙!


aluckdog
浏览 968回答 1
1回答

紫衣仙女

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();我一般会这样写
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答