Comment la chaîne d'une Promesse.ensemble avec d'autres Promesses?
Je veux exécuter mon code dans l'ordre suivant:
- La promesse 1
- Attendre 1 à faire, puis faire de Promesse 2+3 dans le même temps
- Finale de la fonction attend Promesse 2+3 à faire
J'ai un peu de mal à essayer de le comprendre, mon code pour l'instant 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!'));
- Comme adeneo expliqué, tout ce que vous renvoyer à partir d'un puis de gestionnaire est transmis au gestionnaire suivant
Vous devez vous connecter pour publier un commentaire.
Juste retour
Promise.all(...
spread
si vous voulez de la chaîne d'une autre des promesses dans un moyen sympa 😉Bluebird
extension, et pas ES6?Je sais que c'est un vieux thread, mais n'est-ce pas
un peu superflu? L'idée de la graisse de la flèche, c'est que vous pouvez l'écrire comme:
ce qui rend le code un peu plus clair:
De toute façon, merci pour la réponse, j'ai été coincé avec ça 🙂