Encadenamiento de funciones asíncronas

Beginner

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

Introducción

En este laboratorio, exploraremos cómo encadenar funciones asíncronas en JavaScript. Aprenderemos a recorrer un array de funciones que contienen eventos asíncronos y a llamar a la función next cuando cada evento haya finalizado. Al final del laboratorio, serás capaz de ejecutar eficientemente una serie de operaciones asíncronas en un orden específico.

Encadenamiento de funciones asíncronas

Para encadenar funciones asíncronas, abre la Terminal/SSH y escribe node. Luego, recorre un array de funciones que contienen eventos asíncronos y llama a la función next cuando cada evento asíncrono haya finalizado.

A continuación, se muestra un fragmento de código que demuestra cómo encadenar funciones asíncronas:

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 segundos");
    setTimeout(next, 1000);
  },
  (next) => {
    console.log("1 segundo");
    setTimeout(next, 1000);
  },
  () => {
    console.log("2 segundos");
  }
]);

Resumen

¡Felicidades! Has completado el laboratorio de Funciones Asíncronas Encadenadas. Puedes practicar más laboratorios en LabEx para mejorar tus habilidades.