Asynchrone Funktionen verketten

JavaScriptJavaScriptBeginner
Jetzt üben

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

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab werden wir untersuchen, wie man asynchrone Funktionen in JavaScript verketten kann. Wir werden lernen, wie man durch ein Array von Funktionen mit asynchronen Ereignissen iteriert und die next-Funktion aufruft, wenn jedes Ereignis abgeschlossen ist. Am Ende des Labs sollten Sie in der Lage sein, eine Reihe asynchroner Operationen in einer bestimmten Reihenfolge effizient auszuführen.


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{{"Asynchrone Funktionen verketten"}} javascript/data_types -.-> lab-28192{{"Asynchrone Funktionen verketten"}} javascript/arith_ops -.-> lab-28192{{"Asynchrone Funktionen verketten"}} javascript/comp_ops -.-> lab-28192{{"Asynchrone Funktionen verketten"}} javascript/async_prog -.-> lab-28192{{"Asynchrone Funktionen verketten"}} javascript/debugging -.-> lab-28192{{"Asynchrone Funktionen verketten"}} end

Asynchrone Funktionen verketten

Um asynchrone Funktionen zu verketten, öffnen Sie das Terminal/SSH und geben Sie node ein. Dann iterieren Sie durch ein Array von Funktionen, die asynchrone Ereignisse enthalten, und rufen Sie die next-Funktion auf, wenn jedes asynchrone Ereignis abgeschlossen ist.

Hier ist ein Codeausschnitt, der zeigt, wie man asynchrone Funktionen verketten kann:

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

Zusammenfassung

Herzlichen Glückwunsch! Sie haben das Lab "Asynchrone Funktionen verketten" abgeschlossen. Sie können in LabEx weitere Labs absolvieren, um Ihre Fähigkeiten zu verbessern.