⊗jsSpPrmEx 163 of 294 menu

Izjemne situacije v promisih v JavaScript

Zdaj se naučimo obvladovati izjemne situacije, ki se zgodijo znotraj promisa. V primeru pojavitve takšne situacije moramo zavrniti promis s pomočjo posebne funkcije za zavrnitev, ki samodejno pride v drugi parameter funkcije promisa:

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

Znotraj funkcije promisa moramo poklicati resolve, če je vse potekalo normalno, ali reject, če je prišlo do izjemne situacije:

let promise = new Promise(function(resolve, reject) { setTimeout(function() { let isError = false; if (!isError) { resolve([1, 2, 3, 4, 5]); // podatki promisa } else { reject('napaka v promisu'); // vaše besedilo napake } }, 3000); });

Nato morate v metodi then kot parametre predati ne eno, ampak dve funkciji: prva bo delovala, če je promis deloval normalno (se je razrešil), druga pa - če je deloval z napako (se je zavrnil):

promise.then( function(result) { console.log(result); // izpiše rezultat promisa }, function(error) { console.log(error); // izpiše besedilo napake } );

Praviloma zgornjo kodo zapišejo bolj strnjeno, takole:

promise.then(function(result) { console.log(result); // izpiše rezultat promisa }, function(error) { console.log(error); // izpiše besedilo napake });

Naredite asinhrono kodo, ki bo generirala naključna števila od 0 do 5. Vse to zavijte v promis. Naj promis kot rezultat vrne rezultat deljenja enice z generiranim številom. Naj se promis izvede z napako, če je prišlo do deljenja z nič, in z uspehom v vseh drugih primerih.

Slovenščina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Za delovanje spletnega mesta, analitiko in personalizacijo uporabljamo piškotke. Obdelava podatkov poteka v skladu s Politiko zasebnosti.
sprejmi vse nastavi zavrni