⊗jsSpPrmEx 163 of 294 menu

Изузетне ситуације у промису у JavaScript-у

Хајде да сада научимо да обрађујемо изузетне ситуације које су се догодиле унутар промиса. У случају настанка такве ситуације морамо да одбијемо промис помоћу специјалне функције за одбијање, која аутоматски долази у други параметар функције промиса:

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

Унутар функције промиса морамо да позовемо resolve, ако је све прошло нормално, или reject, ако је настала изузетна ситуација:

let promise = new Promise(function(resolve, reject) { setTimeout(function() { let isError = false; if (!isError) { resolve([1, 2, 3, 4, 5]); // подаци промиса } else { reject('error in promise'); // ваш текст грешке } }, 3000); });

Затим у методу then параметрима морате проследити не једну, већ две функције: прва ће се извршити, ако је промис радио нормално (resolved), а друга - ако је радио са грешком (rejected):

promise.then( function(result) { console.log(result); // исписаће резултат промиса }, function(error) { console.log(error); // исписаће текст грешке } );

По правилу, горе наведени код се записује компактније, ево овако:

promise.then(function(result) { console.log(result); // исписаће резултат промиса }, function(error) { console.log(error); // исписаће текст грешке });

Направите асинхрони код који ће генерисати случајне бројеве од 0 до 5. Све то обавите у промису. Нека промис својим резултатом враћа резултат дељења јединице са генерисаним бројем. Нека се промис изврши са грешком, ако се десило дељење са нулом, и са успехом у свим осталим случајевима.

Српски
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
Користимо колачиће за рад сајта, аналитику и персонализацију. Обрада података се врши у складу са Политиком приватности.
прихвати све подеси одбиј