⊗jsSpPrmEx 163 of 294 menu

Ausnahmesituationen in Promises in JavaScript

Lassen Sie uns nun lernen, Ausnahmesituationen zu behandeln, die innerhalb eines Promises auftreten. Im Falle des Auftretens einer solchen Situation müssen wir den Promise ablehnen, indem wir eine spezielle Ablehnungsfunktion verwenden, die automatisch in den zweiten Parameter der Promise-Funktion gelangt:

let promise = new Promise(function(resolve, reject) { setTimeout(function() { ... }, 3000); });

Innerhalb der Promise-Funktion müssen wir resolve aufrufen, wenn alles normal verlaufen ist, oder reject, wenn eine Ausnahmesituation aufgetreten ist:

let promise = new Promise(function(resolve, reject) { setTimeout(function() { let isError = false; if (!isError) { resolve([1, 2, 3, 4, 5]); // Daten des Promises } else { reject('error in promise'); // Ihr Fehlertext } }, 3000); });

Dann müssen Sie in der Methode then nicht eine, sondern zwei Funktionen als Parameter übergeben: die erste wird ausgeführt, wenn der Promise normal funktioniert hat (erfüllt), und die zweite - wenn er mit einem Fehler funktioniert hat (abgelehnt):

promise.then( function(result) { console.log(result); // gibt das Ergebnis des Promises aus }, function(error) { console.log(error); // gibt den Fehlertext aus } );

In der Regel wird der obige Code kompakter geschrieben, und zwar so:

promise.then(function(result) { console.log(result); // gibt das Ergebnis des Promises aus }, function(error) { console.log(error); // gibt den Fehlertext aus });

Erstellen Sie einen asynchronen Code, der Zufallszahlen von 0 bis 5 generiert. Wickeln Sie alles in ein Promise. Lassen Sie den Promise als Ergebnis das Ergebnis der Division von eins durch die generierte Zahl zurückgeben. Lassen Sie den Promise mit einem Fehler ausgeführt werden, wenn eine Division durch Null aufgetreten ist, und erfolgreich in allen anderen Fällen.

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