首页  >  问答  >  正文

javascript - 循环嵌套多个promise应该如何实现?

大致情况如下:

首先从一个请求中获得一个数组(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);
});
漂亮男人漂亮男人2671 天前1332

全部回复(1)我来回复

  • 代言

    代言2017-06-28 09:31:10

    Promise.all([promises])promises 已经是数组了

    回复
    0
  • 取消回复