JavaScript Academy · Lektion

Promise.all / any / race / allSettled – das passende Werkzeug wählen

Promise-Kombinatoren üben: all, any, race und allSettled. Erfolgs- und Fehlerverhalten verstehen und wissen, wann welcher Kombinator geeignet ist

Lektion 3 von 38 Schritte

Promise.all / any / race / allSettled – das passende Werkzeug wählen ist eine kostenlose JavaScript Academy-Lektion auf CoddyKit. Dies ist Lektion 3 von 3. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des JavaScript Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der JavaScript Academy-Kurs umfasst insgesamt 3 Lektionen.

Überblick über Kombinatoren

Ziel: Lernen Sie vier Hilfsfunktionen und ihr Verhalten kennen.

  • all: auf alle warten; bei Fehler sofort abbrechen
  • any: erster Erfolg
  • race: zuerst abgeschlossen (Erfolg/Fehler)
  • allSettled: Ergebnisse für alle
Promise.all / any / race / allSettled – das passende Werkzeug wählen — Illustration 1

Grundlagen von Promise.all

Promise.all wird mit einem Array von Ergebnissen erfüllt; eine einzige Ablehnung lehnt die gesamte Promise ab.

// Small helpers for examples
function delay(ms, value, shouldFail = false) {
  return new Promise(function (resolve, reject) {
    setTimeout(function () {
      if (shouldFail) reject(new Error(String(value)));
      else resolve(value);
    }, ms);
  });
}

// Promise.all waits for all; rejects fast on first error
Promise.all([
  delay(10, "A"),
  delay(5, "B")
]).then(function (vals) {
  console.log("all:", vals);
});
Promise.all / any / race / allSettled – das passende Werkzeug wählen — Illustration 2

Grundlagen von Promise.any

Promise.any wird mit dem ersten Erfolg erfüllt; abgelehnt wird sie nur, wenn alle Eingaben abgelehnt werden.

// Promise.any gives the first fulfilled value
Promise.any([
  delay(8, "ok-1"),
  delay(3, "ok-2"),
  delay(6, "ok-3")
]).then(function (v) {
  console.log("any:", v);
}).catch(function (e) {
  console.log("any failed:", e.message);
});
Promise.all / any / race / allSettled – das passende Werkzeug wählen — Illustration 3

Grundlagen von Promise.race

Promise.race nimmt die Promise, die zuerst abgeschlossen ist: Das kann eine resolve- oder eine reject-Operation sein.

// Promise.race settles with the first to finish (success or error)
Promise.race([
  delay(5, "win"),
  delay(7, "boom", true)
]).then(function (v) {
  console.log("race resolved:", v);
}).catch(function (e) {
  console.log("race rejected:", e.message);
});
Promise.all / any / race / allSettled – das passende Werkzeug wählen — Illustration 4

Grundlagen von Promise.allSettled

Promise.allSettled wird immer mit einem Array von Statusobjekten für jede Eingabe erfüllt.

// Promise.allSettled waits for all and reports each outcome
Promise.allSettled([
  delay(4, "A"),
  delay(6, "X", true)
]).then(function (results) {
  console.log("allSettled:", results.map(function (r) { return r.status; }));
});
Promise.all / any / race / allSettled – das passende Werkzeug wählen — Illustration 5

Welche Methode verwenden?

Auswahl:

  • all: Sie benötigen alle Ergebnisse; bei einem Fehler soll sofort abgebrochen werden.
  • any: Sie akzeptieren den ersten Erfolg (Fallback-Quellen).
  • race: Sie wählen das zuerst abgeschlossene Ergebnis (Timeout-Muster).
  • allSettled: Sie sammeln jedes Ergebnis, um es zu untersuchen.
Promise.all / any / race / allSettled – das passende Werkzeug wählen — Illustration 6

Quiz zur Auswahl des Kombinators

Schnelltest: Erstes erfülltes Ergebnis.

Promise.all / any / race / allSettled – das passende Werkzeug wählen — Illustration 7

Zusammenfassung

Zusammenfassung: Verwenden Sie all für „alle benötigt“, any für „erster Erfolg“, race für „zuerst abgeschlossen“ und allSettled, um jedes Ergebnis ohne vorzeitigen Abbruch zu untersuchen.

Promise.all / any / race / allSettled – das passende Werkzeug wählen — Illustration 8
Kostenlos starten

Lerne JavaScript mit einem KI-Tutor — kostenlos

Schreibe und führe echten Code in deinem Browser aus, bekomme sofortige Hilfe von einem 24/7 KI-Tutor und setze dein Lernen im Web oder in der App fort.

Kurse
59
Lektionen
200

Häufig gestellte Fragen

Ist die Lektion „Promise.all / any / race / allSettled – das passende Werkzeug wählen“ kostenlos?

Ja — der vollständige Text von „Promise.all / any / race / allSettled – das passende Werkzeug wählen“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des JavaScript Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der JavaScript Academy-Kurs umfasst insgesamt 3 Lektionen.

Was lerne ich in „Promise.all / any / race / allSettled – das passende Werkzeug wählen“?

Promise-Kombinatoren üben: all, any, race und allSettled. Erfolgs- und Fehlerverhalten verstehen und wissen, wann welcher Kombinator geeignet ist Du übst JavaScript Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um JavaScript Academy zu starten?

Keine Vorkenntnisse erforderlich. JavaScript Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 3.

Wie lange dauert die Lektion „Promise.all / any / race / allSettled – das passende Werkzeug wählen“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser JavaScript Academy-Lektion Code schreiben und ausführen?

Ja. Jede JavaScript Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Event Loop und Grundlagen von Task und Microtask
  2. Promises – Zustände, Verkettung und Fehlerbehandlung
  3. Promise.all / any / race / allSettled – das passende Werkzeug wählen
← Zurück zu JavaScript Academy