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

查看:510
本文介绍了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);
});

解决方案

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

这篇关于javascript - 循环嵌套多个promise应该如何实现?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆