Encadenamiento de funciones asíncronas

JavaScriptJavaScriptBeginner
Practicar Ahora

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

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

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.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL javascript(("JavaScript")) -.-> javascript/BasicConceptsGroup(["Basic Concepts"]) javascript(("JavaScript")) -.-> javascript/AdvancedConceptsGroup(["Advanced Concepts"]) javascript(("JavaScript")) -.-> javascript/ToolsandEnvironmentGroup(["Tools and Environment"]) 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/ToolsandEnvironmentGroup -.-> javascript/debugging("Debugging") subgraph Lab Skills javascript/variables -.-> lab-28192{{"Encadenamiento de funciones asíncronas"}} javascript/data_types -.-> lab-28192{{"Encadenamiento de funciones asíncronas"}} javascript/arith_ops -.-> lab-28192{{"Encadenamiento de funciones asíncronas"}} javascript/comp_ops -.-> lab-28192{{"Encadenamiento de funciones asíncronas"}} javascript/async_prog -.-> lab-28192{{"Encadenamiento de funciones asíncronas"}} javascript/debugging -.-> lab-28192{{"Encadenamiento de funciones asíncronas"}} end

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.