⊗jsSpPrmSta 166 of 294 menu

Promise-Zustände in JavaScript

Ein Promise kann sich in einem von drei Zuständen befinden. Bei der Erstellung befindet sich das Promise im Zustand "ausstehend" (pending) und kann dann entweder "erfüllt" (fulfilled) werden und ein Ergebnis zurückgeben, oder "abgelehnt" (rejected) werden und einen Grund für das Scheitern zurückgeben. Sie können den Übergang von einem Zustand in einen anderen beobachten, indem Sie den folgenden Code ausführen:

let promise = new Promise(function(resolve, reject) { setTimeout(function() { let isError = false; // setzen Sie entweder true oder false if (!isError) { resolve([1, 2, 3, 4, 5]); } else { reject('error in promise'); } }, 3000); }); setInterval(function() { console.log(promise); // jede Sekunde geben wir das Promise in der Konsole aus }, 1000);

Beachten Sie, dass die Zustände fulfilled und rejected unveränderlich sind: Wenn ein Promise in einen dieser Zustände übergegangen ist, kann es nicht mehr in einen anderen Zustand wechseln. Schauen wir uns ein Beispiel an. Im folgenden Code wird der Aufruf von reject zuerst erfolgen, daher wird der Aufruf von resolve ignoriert:

let promise = new Promise(function(resolve, reject) { setTimeout(() => reject(new Error('error')), 1000); setTimeout(() => resolve('ignored'), 2000); });

Erstellen Sie ein Promise, das nach einiger Zeit erfolgreich abgeschlossen wird. Geben Sie es in der Konsole aus und untersuchen Sie seinen anfänglichen und seinen abgeschlossenen Zustand.

Erstellen Sie ein Promise, das nach einiger Zeit mit einem Fehler abgeschlossen wird. Geben Sie es in der Konsole aus und untersuchen Sie seinen anfänglichen und seinen abgeschlossenen Zustand.

Deutsch
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wir verwenden Cookies für den Betrieb der Website, Analyse und Personalisierung. Die Datenverarbeitung erfolgt gemäß der Datenschutzerklärung.
alle akzeptieren anpassen ablehnen