Exécuter des promesses en série

JavaScriptJavaScriptBeginner
Pratiquer maintenant

This tutorial is from open-source community. Access the source code

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire, nous allons explorer comment exécuter une série de promesses en utilisant JavaScript. Nous allons utiliser la méthode Array.prototype.reduce() pour créer une chaîne de promesses, où chaque promesse renvoie la prochaine promesse lorsqu'elle est résolue. À la fin de ce laboratoire, vous aurez une meilleure compréhension de la manière d'exécuter séquentiellement des promesses, ce qui portera vos compétences de programmation à un niveau supérieur.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL javascript(("JavaScript")) -.-> javascript/BasicConceptsGroup(["Basic Concepts"]) javascript(("JavaScript")) -.-> javascript/AdvancedConceptsGroup(["Advanced Concepts"]) javascript/BasicConceptsGroup -.-> javascript/variables("Variables") javascript/BasicConceptsGroup -.-> javascript/data_types("Data Types") javascript/BasicConceptsGroup -.-> javascript/arith_ops("Arithmetic Operators") javascript/BasicConceptsGroup -.-> javascript/comp_ops("Comparison Operators") javascript/AdvancedConceptsGroup -.-> javascript/async_prog("Asynchronous Programming") javascript/AdvancedConceptsGroup -.-> javascript/higher_funcs("Higher-Order Functions") subgraph Lab Skills javascript/variables -.-> lab-28607{{"Exécuter des promesses en série"}} javascript/data_types -.-> lab-28607{{"Exécuter des promesses en série"}} javascript/arith_ops -.-> lab-28607{{"Exécuter des promesses en série"}} javascript/comp_ops -.-> lab-28607{{"Exécuter des promesses en série"}} javascript/async_prog -.-> lab-28607{{"Exécuter des promesses en série"}} javascript/higher_funcs -.-> lab-28607{{"Exécuter des promesses en série"}} end

Exécution de promesses en série

Pour exécuter une série de promesses, utilisez Array.prototype.reduce() pour créer une chaîne de promesses. Chaque promesse renvoie la prochaine promesse après avoir été résolue.

Pour commencer, ouvrez le Terminal/SSH et tapez node pour commencer à pratiquer la programmation.

Voici un exemple de code :

const runPromisesInSeries = (ps) =>
  ps.reduce((p, next) => p.then(next), Promise.resolve());

Vous pouvez ensuite utiliser la fonction runPromisesInSeries pour exécuter séquentiellement des promesses, comme dans l'exemple suivant :

const delay = (d) => new Promise((r) => setTimeout(r, d));
runPromisesInSeries([() => delay(1000), () => delay(2000)]);
// Ce code exécute chaque promesse séquentiellement, prenant au total 3 secondes pour se terminer.

Sommaire

Félicitations ! Vous avez terminé le laboratoire Exécution de promesses en série. Vous pouvez pratiquer d'autres laboratoires sur LabEx pour améliorer vos compétences.