⊗jsSpPrmSta 166 of 294 menu

Стања промиса у JavaScript-у

Промис може бити у једном од три стања. Приликом креирања промис је у чекању (pending), а затим може постати испуњен (fulfilled), враћајући добијени резултат, или одбијен (rejected), враћајући разлог одбијања. Можете видети прелазак из једног стања у друго покретањем следећег кода:

let promise = new Promise(function(resolve, reject) { setTimeout(function() { let isError = false; // поставите или true, или false if (!isError) { resolve([1, 2, 3, 4, 5]); } else { reject('error in promise'); } }, 3000); }); setInterval(function() { console.log(promise); // сваке секунде исписујемо промис у конзолу }, 1000);

Имајте на уму да су стања fulfilled и rejected непроменљива: ако промис пређе у једно од ових стања, онда неће моћи да пређе у друго. Хајде да погледамо на примеру. У следећем коду позив reject ће се десити раније, па ће позив resolve бити игнорисан:

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

Направите промис који ће се успешно извршити после извесног времена. Испишите га у конзолу и проучите његово почетно стање и завршно стање.

Направите промис који ће се извршити са неуспехом после извесног времена. Испишите га у конзолу и проучите његово почетно стање и завршно стање.

Српски
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Користимо колачиће за рад сајта, аналитику и персонализацију. Обрада података се врши у складу са Политиком приватности.
прихвати све подеси одбиј