⊗jsSpPrmEx 163 of 294 menu

Uitsonderlike situasies in beloftes in JavaScript

Laat ons nou leer hoe om uitsonderlike situasies wat binne 'n belofte plaasgevind het, te hanteer. In die geval van so 'n situasie moet ons die belofte verwerp met behulp van 'n spesiale verwerpingsfunksie, wat outomaties in die tweede parameter van die beloftese funksie beland:

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

Binne die beloftese funksie moet ons resolve aanroep, indien alles normaal verloop het, of reject, indien daar 'n uitsonderlike situasie ontstaan het:

let promise = new Promise(function(resolve, reject) { setTimeout(function() { let isError = false; if (!isError) { resolve([1, 2, 3, 4, 5]); // data van die belofte } else { reject('fout in belofte'); // jou foutteks } }, 3000); });

Dan moet jy in die then metode nie een nie, maar twee funksies as parameters oordra: die eerste sal werk as die belofte normaal uitgevoer het (resolved), en die tweede - as dit met 'n fout uitgevoer het (rejected):

promise.then( function(result) { console.log(result); // sal die resultaat van die belofte uitdruk }, function(error) { console.log(error); // sal die foutteks uitdruk } );

Gewoonlik word die bostaande kode meer kompak geskryf, soos volg:

promise.then(function(result) { console.log(result); // sal die resultaat van die belofte uitdruk }, function(error) { console.log(error); // sal die foutteks uitdruk });

Maak 'n asinkrone kode wat lukrake getalle sal genereer van 0 tot 5. Pak alles in 'n belofte. Laat die belofte sy resultaat die resultaat van die deling van een deur die gegenereerde getal teruggee. Laat die belofte met 'n fout voltooi, indien deling deur nul plaasgevind het, en met sukses in alle ander gevalle.

Afrikaans
AzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικά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
Ons gebruik koekies vir die werking van die webwerf, ontleding en personalisering. Die verwerking van data geskied volgens die Privaatheidsbeleid.
aanvaar alles instel verwerp