var urls = [];
var results = [];
for(let i = 0 ; i < 5 ; i ++){
var url1 = urls[2*i];
var url2 = urls[2*i + 1];
var p = new Promise(function(resolve,reject){
ajax(url1,function(res1){
resolve(res1);
})
});
var q = new Promise(function(resolve,reject){
ajax(url2,function(res2){
resolve(res2);
})
});
Promise.all([p,q]).then(function(data){
results[2*i] = data[0];
results[2*i + 1] = data[1];
});
}
我一般会这样写
async/await 就是基于 Promise 的,但是更方便:
使用原生
AJAX
新API
:fetch
不过兼容性不是太好,可以引用兼容库:
//cdn.bootcss.com/fetch/2.0.1/fetch.min.js
文档:https://developer.mozilla.org...
示例:
这样是不是可以?