Je veux exécuter mon code dans l'ordre suivant:
J'ai du mal à le comprendre, mon code jusqu'à présent est ci-dessous.
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!'));
Retournez simplement Promise.all(...
getPromise1().then(() => {
return Promise.all([getPromise2(), getPromise3()]);
}).then((args) => console.log(args)); // result from 2 and 3
Je sais que c'est un vieux fil, mais n'est pas
() => {return Promise.all([getPromise2(), getPromise3()]);}
un peu superflu? L'idée de la grosse flèche est que vous pouvez l'écrire comme:
() => Promise.all([getPromise2(), getPromise3()])
ce qui rend le code résultant un peu plus clair:
getPromise1().then(() => Promise.all([getPromise2(), getPromise3()]))
.then((args) => console.log(args)); // result from 2 and 3
Quoi qu'il en soit, merci pour la réponse, j'étais coincé avec ça :)