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...
示例:
这样是不是可以?