⊗jsSpPrmEx 163 of 294 menu

Kivételes helyzetek a JavaScript Promise-jaiban

Most pedig tanuljuk meg, hogyan kezeljük a Promise-on belül előforduló kivételes helyzeteket. Ilyen helyzet esetén el kell utasítanunk a Promise-ot a speciális elutasító függvénnyel, amely automatikusan a Promise függvény második paramétereként érhető el:

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

A Promise függvényen belül meg kell hívnunk a resolve-ot, ha minden normálisan ment, vagy a reject-et, ha kivételes helyzet állt elő:

let promise = new Promise(function(resolve, reject) { setTimeout(function() { let isError = false; if (!isError) { resolve([1, 2, 3, 4, 5]); // a Promise adatai } else { reject('error in promise'); // a hiba szövege } }, 3000); });

Ezután a then metódus paramétereiként nem egy, hanem két függvényt kell átadnia: az első akkor fut le, ha a Promise normálisan teljesült (resolve), a második pedig - ha hibával (reject):

promise.then( function(result) { console.log(result); // kiírja a Promise eredményét }, function(error) { console.log(error); // kiírja a hiba szövegét } );

Általában a fenti kódot tömörebben írják, így:

promise.then(function(result) { console.log(result); // kiírja a Promise eredményét }, function(error) { console.log(error); // kiírja a hiba szövegét });

Készítsen aszinkron kódot, amely 0 és 5 között véletlen számokat generál. Mindezt tegye egy Promise-ba. A Promise az eredményeként adja vissza az egyeség és a generált szám hányadosát. A Promise teljesüljön hibával, ha nullával való osztás történt, és sikeresen minden más esetben.

Magyar
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
A weboldal működéséhez, elemzéshez és személyre szabáshoz sütiket használunk. Az adatfeldolgozás a Adatvédelmi irányelvek szerint történik.
összes elfogadása beállítás elutasítás