Chaîner des fonctions asynchrones

Beginner

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

Introduction

Dans ce laboratoire, nous allons explorer la manière de chaîner des fonctions asynchrones en JavaScript. Nous apprendrons à parcourir un tableau de fonctions contenant des événements asynchrones et à appeler la fonction next lorsque chaque événement est terminé. À la fin du laboratoire, vous serez capable d'exécuter efficacement une série d'opérations asynchrones dans un ordre spécifique.

Chaining Asynchronous Functions

Pour chaîner des fonctions asynchrones, ouvrez le Terminal/SSH et tapez node. Ensuite, parcourez un tableau de fonctions contenant des événements asynchrones et appelez la fonction next lorsque chaque événement asynchrone est terminé.

Voici un extrait de code qui montre comment chaîner des fonctions asynchrones :

const chainAsync = (fns) => {
  let curr = 0;
  const last = fns[fns.length - 1];
  const next = () => {
    const fn = fns[curr++];
    fn === last ? fn() : fn(next);
  };
  next();
};

chainAsync([
  (next) => {
    console.log("0 seconds");
    setTimeout(next, 1000);
  },
  (next) => {
    console.log("1 second");
    setTimeout(next, 1000);
  },
  () => {
    console.log("2 second");
  }
]);

Summary

Félicitations ! Vous avez terminé le laboratoire sur le chaînage des fonctions asynchrones. Vous pouvez pratiquer d'autres laboratoires sur LabEx pour améliorer vos compétences.