大致情况如下:
首先从一个请求中获得一个数组(regions),这一步先不管,前头已经处理了;
遍历这个数组获得所需信息。从而可以发送N个异步请求。
在所有这些异步请求全部完成之后处理返回的数据。
我在这里遇到的问题是每次貌似都是直接进到外层的then方法,不应该是内层的所有then都resolve之后再进到外层的then吗?求教应该如何改写?
var promises = [];
promises = regions.map(function (region) {
return new Promise(function(resolve) {
Promise.all([asyncRequest1(region), asyncRequest2(region), asyncRequest3(region), asyncRequest4(region)])
.then(function (reses) {
resolve(reses);
});
});
});
Promise.all([promises]).then(function(results) {
handle(results);
});
Promise.all([promises])
,promises
已经是数组了