Sobes.tech
Junior

Erzählen Sie mir von der Konstruktion async/await in JavaScript.

sobes.tech KI

Antwort von AI

async/await — syntaktischer Zucker über Versprechen, der dazu dient, asynchronen Code einfacher zu schreiben, der synchron aussieht.

Eine mit async gekennzeichnete Funktion gibt immer ein Versprechen zurück. Innerhalb einer async-Funktion kann das Schlüsselwort await verwendet werden.

Der Operator await wird vor dem Aufruf eines Versprechens verwendet. Er pausiert die Ausführung der async-Funktion, bis das Versprechen erfüllt (resolved) oder abgelehnt (rejected) wird. Das Ergebnis des Versprechens (Erfolg oder Fehler) wird von await zurückgegeben.

Wenn das Versprechen, auf das await angewendet wird, abgelehnt wird, löst dies eine Ausnahme aus, die mit einem try...catch-Block abgefangen werden kann.

// Beispiel für die Verwendung von async/await
async function fetchData() {
  try {
    // Warten auf die Ausführung einer asynchronen Operation (z.B. API-Anfrage)
    const response = await fetch('https://api.example.com/data');
    // Antwort in JSON parsen
    const data = await response.json();
    // Ausgeben der empfangenen Daten
    console.log(data);
  } catch (error) {
    // Fehler abfangen
    console.error('Fehler beim Abrufen der Daten:', error);
  }
}

// Aufruf der async-Funktion
fetchData();

// Async-Funktion, die ein Versprechen zurückgibt
async function getValue() {
  return 10; // Das wird automatisch in Promise.resolve(10) eingewickelt
}

getValue().then(value => console.log(value)); // Gibt 10 aus

Vorteile von async/await:

  • Lesbarkeit des Codes: Asynchroner Code sieht mehr wie synchroner Code aus
  • Fehlerbehandlung: Einfacher mit standardmäßigen try...catch-Blöcken
  • Weniger Verschachtelung: Vermeidet "Callback-Hölle" oder lange .then()-Ketten.

Es ist wichtig zu beachten, dass await nur innerhalb von async-Funktionen verwendet werden kann.