Ответ 1
Просто верните Promise.all(...
getPromise1().then(() => {
return Promise.all([getPromise2(), getPromise3()]);
}).then((args) => console.log(args)); // result from 2 and 3
Я хочу выполнить свой код в следующем порядке:
У меня есть некоторые проблемы с этим, мой код до сих пор ниже.
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
Я знаю, что это старый поток, но не
() => {return Promise.all([getPromise2(), getPromise3()]);}
немного лишнее? Идея толстой стрелки состоит в том, что вы можете написать ее как:
() => Promise.all([getPromise2(), getPromise3()])
что делает полученный код более ясным:
getPromise1().then(() => Promise.all([getPromise2(), getPromise3()]))
.then((args) => console.log(args)); // result from 2 and 3
В любом случае, спасибо за ответ, я застрял в этом:)