⊗jsSpPrmSta 166 of 294 menu

Promise-tilstande i JavaScript

Et promise kan være i en af tre tilstande. Ved oprettelse er promise i afventende tilstand (pending), og kan derefter blive opfyldt (fulfilled) og returnere det opnåede resultat, eller afvist (rejected) og returnere årsagen til afvisningen. Du kan se overgangen fra en tilstand til en anden ved at køre følgende kode:

let promise = new Promise(function(resolve, reject) { setTimeout(function() { let isError = false; // sæt enten true eller false if (!isError) { resolve([1, 2, 3, 4, 5]); } else { reject('fejl i promise'); } }, 3000); }); setInterval(function() { console.log(promise); // hvert sekund udskriver vi promise til konsollen }, 1000);

Bemærk, at tilstandene fulfilled og rejected er uforanderlige: hvis et promise er skiftet til en af disse tilstande, kan det ikke længere skifte til en anden. Lad os se på et eksempel. I følgende kode vil kaldet til reject ske først, derfor vil kaldet til resolve blive ignoreret:

let promise = new Promise(function(resolve, reject) { setTimeout(() => reject(new Error('fejl')), 1000); setTimeout(() => resolve('ignoreret'), 2000); });

Lav et promise, der vil blive opfyldt med succes efter et stykke tid. Udskriv det til konsollen og undersøg dets starttilstand og afsluttede tilstand.

Lav et promise, der vil blive afvist efter et stykke tid. Udskriv det til konsollen og undersøg dets starttilstand og afsluttede tilstand.

Dansk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDeutschΕλληνικά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
Vi bruger cookies til webstedets funktion, analyse og personalisering. Behandling af data foregår i henhold til Fortrolighedspolitikken.
accepter alle tilpas afvis