⊗jsSpPrmEx 163 of 294 menu

Undantagssituationer i promiser i JavaScript

Låt oss nu lära oss att hantera undantagssituationer som inträffar inuti en promise. Om en sådan situation uppstår bör vi avvisa promisen med hjälp av en speciell avvisningsfunktion, som automatiskt hamnar i den andra parametern i promise-funktionen:

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

Inuti promise-funktionen bör vi anropa resolve om allt gick normalt, eller reject om en undantagssituation uppstod:

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

Sedan i metoden then ska du skicka inte en, utan två funktioner som parametrar: den första kommer att triggas om promisen fungerade normalt (löstes), och den andra - om den fungerade med ett fel (avvisades):

promise.then( function(result) { console.log(result); // visar promise-resultatet }, function(error) { console.log(error); // visar feltexten } );

Som regel skrivs koden ovan mer kompakt, så här:

promise.then(function(result) { console.log(result); // visar promise-resultatet }, function(error) { console.log(error); // visar feltexten });

Skapa en asynkron kod som genererar slumpmässiga tal från 0 till 5. Svep in allt detta i en promise. Låt promisen returnera resultatet av att dela ett med det genererade talet. Låt promisen uppfylla med ett fel om division med noll inträffade, och med framgång i alla andra fall.

Svenska
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi använder kakor för webbplatsens funktion, analys och personalisering. Behandling av data sker i enlighet med Integritetspolicyn.
acceptera alla anpassa avvisa