Middle
Wie funktioniert Promise in JavaScript?
sobes.tech KI
Antwort von AI
- Objekt, das eine mögliche endgültige Beendigung (oder Fehler) einer asynchronen Operation und deren resultierenden Wert darstellt.
- Zustände eines Promises:
pending: Anfangszustand, weder erfüllt noch abgelehnt.fulfilled: bedeutet, dass die Operation erfolgreich abgeschlossen wurde.rejected: bedeutet, dass die Operation mit einem Fehler beendet wurde.
- Der Übergang von
pendingzufulfilledoderrejectederfolgt nur einmal und ist unumkehrbar. - Methoden:
.then(onFulfilled, onRejected): Nimmt zwei Callback-Funktionen. Die erste (onFulfilled) wird bei Erfolg aufgerufen, die zweite (onRejected) bei Fehler. Beide Argumente sind optional. Gibt ein neues Promise zurück..catch(onRejected): Kurzform von.then(null, onRejected). Wird zur Fehlerbehandlung verwendet. Gibt ein neues Promise zurück..finally(onFinally): Wird unabhängig vom Ergebnis des Promises aufgerufen (Erfolg oder Fehler). Nützlich zum Ressourcenbereinigen. Gibt ein neues Promise zurück.
- Erstellung eines Promises:
new Promise((resolve, reject) => {
// Asynchrone Operation
const success = true;
if (success) {
resolve("Operation erfolgreich!"); // Übergang in den Zustand fulfilled
} else {
reject("Etwas ist schief gelaufen..."); // Übergang in den Zustand rejected
}
});
- Verkettung von Promises:
.then(),.catch(),.finally()geben Promises zurück, was die Erstellung von Ketten für sequenzielle asynchrone Operationen ermöglicht.
fetch(url)
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Fehler:', error));