⊗jsSpACEx 158 of 294 menu

JavaScript'теги асинхрондук коллбектердеги исключениялар

make параметрине массивдин жок элементинин номери берилсе - бул исключительдик жagday болсун. Сиз мурунтан эле билесиз, асинхрондук функциянын ичинде пайда болгон исключениялар 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ščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Биз сайттин иштөөсү, аналитика жана персонализация үчүн cookie файлдарын колдонобуз. Маалыматтарды иштетүү Маалыматты коргоо саясаты боюнча жүргүзүлөт.
баарын кабыл алуу ыңгайлаштыруу четке кагуу