⊗jsSpACEx 158 of 294 menu

JavaScript-те асинхронды коллбектердегі istisnalar

make параметріне массивте жоқ элементтің нөмірі берілген деп алайық - бұл istisnalı жағдай. Сіз білетіндей, асинхронды функция ішінде пайда болған istisnalar try-catch арқылы ұсталмайды. Біздің жағдайда make немесе коллбек ішінде пайда болған istisna ұсталмайды:

try { make(10, function(res) { console.log(res); }); } catch(err) { // ұсталмайды }

Коллбек-тәсілінде istisnalarмен келесі түрде жұмыс істейді: коллбектің бірінші параметріне нәтиже жіберіледі, ал екіншісіне - қате. Бұл жағдайда қателерді өңдеу келесі түрде жүреді:

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 файлдарын қолданамыз. Деректерді өңдеу Құпиялылық саясаты бойынша жүреді.
барлығын қабылдау баптау қабылдамау