⊗jsSpPrmSta 166 of 294 menu

Stavy promise v JavaScriptu

Promise může být v jednom ze tří stavů. Při vytvoření je promise čekající (pending), a pak se může stát splněným (fulfilled), čímž vrátí získaný výsledek, nebo zamítnutým (rejected), čímž vrátí důvod odmítnutí. Přechod z jednoho stavu do druhého můžete vidět spuštěním následujícího kódu:

let promise = new Promise(function(resolve, reject) { setTimeout(function() { let isError = false; // nastavte buď true, nebo false if (!isError) { resolve([1, 2, 3, 4, 5]); } else { reject('error in promise'); } }, 3000); }); setInterval(function() { console.log(promise); // každou sekundu vypíšeme promise do konzole }, 1000);

Mějte na paměti, že stavy fulfilled a rejected jsou neměnné: pokud promise přešel do jednoho z těchto stavů, už se nemůže přepnout do druhého. Podívejme se na příklad. V následujícím kódu se volání reject stane dříve, proto bude volání resolve ignorováno:

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

Vytvořte promise, který bude úspěšně splněn po určité době. Vypište jej do konzole a prostudujte jeho počáteční stav a dokončený stav.

Vytvořte promise, který skončí neúspěchem po určité době. Vypište jej do konzole a prostudujte jeho počáteční stav a dokončený stav.

Čeština
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяDanskDeutschΕλληνικά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
Používáme soubory cookie pro fungování webu, analýzu a personalizaci. Zpracování údajů probíhá v souladu s Zásadami ochrany osobních údajů.
přijmout vše přizpůsobit odmítnout