⊗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ščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ние използваме бисквитки за работата на сайта, анализ и персонализация. Обработката на данни се извършва в съответствие с Политика за поверителност.
приемам всички настройки отхвърляне