首頁  >  問答  >  主體

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 天前1331

全部回覆(1)我來回復

  • 代言

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

    Promise.all([promises])promises 已經是陣列了

    回覆
    0
  • 取消回覆