⊗jsSpPrmEx 163 of 294 menu

Unntakssituasjoner i promises i JavaScript

La oss nå lære å håndtere unntakssituasjoner som oppstår inne i et promise. I tilfelle en slik situasjon oppstår må vi avvise promise ved hjelp av en spesiell avvisningsfunksjon, som automatisk blir plassert i den andre parameteren til promise-funksjonen:

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

Inne i promise-funksjonen må vi kalle resolve hvis alt gikk normalt, eller reject hvis det oppstod en unntakssituasjon:

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 feiltekst } }, 3000); });

Deretter i metoden then må du sende ikke én, men to funksjoner som parametere: den første vil kjøres hvis promise fungerte normalt (resolved), og den andre - hvis det fungerte med feil (rejected):

promise.then( function(result) { console.log(result); // vil vise promise-resultatet }, function(error) { console.log(error); // vil vise feilteksten } );

Som regel skrives koden ovenfor mer kompakt, slik:

promise.then(function(result) { console.log(result); // vil vise promise-resultatet }, function(error) { console.log(error); // vil vise feilteksten });

Lag asynkron kode som vil generere tilfeldige tall fra 0 til 5. Pakke alt inn i et promise. La promise returnere resultatet av å dele en på det genererte tallet som sitt resultat. La promise fullføres med feil, hvis det skjedde en divisjon med null, og med suksess i alle andre tilfeller.

Norsk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi bruker informasjonskapsler for nettstedets funksjonalitet, analyse og personalisering. Behandling av data foregår i henhold til Personvernerklæringen.
godta alle tilpass avvis