⊗jsSpACEx 158 of 294 menu

Исклучоци во асинхрони колбекови во JavaScript

Нека, ако како параметар 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šuMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ние користиме колачиња за работата на веб-страната, анализа и персонализација. Обработката на податоци се врши во согласност со Политиката за приватност.
прифати ги сите прилагоди одбиј