⊗jsSpACEx 158 of 294 menu

Изузeци у асинхроним колбековима у ЈаваСкрипту

Нека је, ако је параметром make прослеђен број непостојећег елемента низа - то изузетна ситуација. Као што већ знате, изузеци који настану унутар асинхроне функције не могу бити ухваћени преко try-catch. У нашем случају изузетак, настао унутар make или колбека, неће бити ухваћен:

try { make(10, function(res) { console.log(res); }); } catch(err) { // неће бити ухваћен }

У колбек приступу са изузецима се ради на следећи начин: у први параметар колбека шаље се резултат, а у други - грешка. У том случају обрада грешака се врши на следећи начин:

make(10, function(res, err) { if (!err) { console.log(res); // грешка није настала, исписаћемо резултат } else { console.log(err); // грешка је настала, исписаћемо њен текст } });

Хајде да прерадимо код наше функције make у складу са описаном праксом:

function make(num, callback) { setTimeout(function() { let arr = [1, 2, 3, 4, 5]; let err; if (arr[num] === undefined) { err = 'elem not exists'; // текст грешке } else { err = null; // нема грешке } callback(arr[num], err); }, 3000); }
Српски
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
Користимо колачиће за рад сајта, аналитику и персонализацију. Обрада података се врши у складу са Политиком приватности.
прихвати све подеси одбиј