⊗jsSpPrmEx 163 of 294 menu

Uitzonderlijke situaties in promises in JavaScript

Laten we nu leren hoe we uitzonderlijke situaties die zich voordoen binnen een promise kunnen afhandelen. In het geval van een dergelijke situatie moeten we de promise afwijzen met behulp van een speciale afwijs-functie, die automatisch in de tweede parameter van de promise-functie terechtkomt:

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

Binnen de promise-functie moeten we resolve aanroepen, als alles normaal is verlopen, of reject, als er een uitzonderlijke situatie is opgetreden:

let promise = new Promise(function(resolve, reject) { setTimeout(function() { let isError = false; if (!isError) { resolve([1, 2, 3, 4, 5]); // data van de promise } else { reject('error in promise'); // jouw fouttekst } }, 3000); });

Vervolgens moet je in de methode then niet één, maar twee functies doorgeven als parameters: de eerste werkt, als de promise normaal is uitgevoerd (is geresolved), en de tweede - als het is uitgevoerd met een fout (is gerejected):

promise.then( function(result) { console.log(result); // geeft het resultaat van de promise weer }, function(error) { console.log(error); // geeft de fouttekst weer } );

Over het algemeen wordt de bovenstaande code korter geschreven, zoals hier:

promise.then(function(result) { console.log(result); // geeft het resultaat van de promise weer }, function(error) { console.log(error); // geeft de fouttekst weer });

Maak asynchrone code die willekeurige getallen genereert van 0 tot 5. Verpak dit alles in een promise. Laat de promise als resultaat het resultaat teruggeven van het delen van één door het gegenereerde getal. Laat de promise met een fout voltooien, als er een deling door nul heeft plaatsgevonden, en met succes in alle andere gevallen.

Nederlands
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wij gebruiken cookies voor de werking van de site, analyse en personalisatie. De verwerking van gegevens gebeurt volgens het Privacybeleid.
alles accepteren aanpassen weigeren