如何将Promise.all链接到其他Promise? [英] How to chain a Promise.all with other Promises?

查看:86
本文介绍了如何将Promise.all链接到其他Promise?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想按以下顺序执行我的代码:

I want to execute my code in the following order:


  1. 承诺1

  2. 等待1完成,然后同时做2 + 3

  3. 最终功能等待Promise 2 + 3完成

我在搞清楚方面遇到了一些麻烦,到目前为止我的代码都在下面。

I'm having some trouble figuring it out, my code so far is below.

function getPromise1() {
  return new Promise((resolve, reject) => {
    // do something async
    resolve('myResult');
  });
}

function getPromise2() {
  return new Promise((resolve, reject) => {
    // do something async
    resolve('myResult');
  });
}

function getPromise3() {
  return new Promise((resolve, reject) => {
    // do something async
    resolve('myResult');
  });
}

getPromise1()
.then(
  Promise.all([getPromise2(), getPromise3()])
  .then() // ???
)
.then(() => console.log('Finished!'));


推荐答案

只需返回 Promise.all (...

getPromise1().then(() => {
  return Promise.all([getPromise2(), getPromise3()]);
}).then((args) => console.log(args)); // result from 2 and 3

这篇关于如何将Promise.all链接到其他Promise?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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