⊗jsSpACEx 158 of 294 menu

Madarasa katika Vitendo vya Nyuma vya Asynchronous katika JavaScript

Wacha, ikiwa kigezo make kimepitiwa nambari ya kipengele kisichopo cha safu - hii ni hali ya kipekee. Kama unavyojua tayari, madarasa yaliyotokea ndani ya kitendo cha asynchronous haiwezi kukamatwa kupitia try-catch. Katika kesi yetu, usawa uliotokea ndani ya make au kitendo cha nyuma, hautakoi:

try { make(10, function(res) { console.log(res); }); } catch(err) { // haitakamatwa }

Katika mbinu ya vitendo vya nyuma, madarasa hushughulikiwa kama ifuatavyo: paramu ya kwanza ya kitendo cha nyuma hupelekwa matokeo, na ya pili - hitilafu. Katika kesi hii, utunzaji wa makosa hufanyika kama ifuatavyo:

make(10, function(res, err) { if (!err) { console.log(res); // hakukuwa na hitilafu, tutaonyesha matokeo } else { console.log(err); // hitilafu ilitokea, tutaonyesha maandishi yake } });

Wacha tubadilishe msimbo wa kitendo chetu make kulingana na yaliyoelezewa:

function make(num, callback) { setTimeout(function() { let arr = [1, 2, 3, 4, 5]; let err; if (arr[num] === undefined) { err = 'kipengele hakipo'; // maandishi ya hitilafu } else { err = null; // hakuna hitilafu } callback(arr[num], err); }, 3000); }
Kiswahili
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Tunatumia kuki kwa ajili ya uendeshaji wa tovuti, uchambuzi na ubinafsishaji. Usindikaji wa data unafanyika kulingana na Sera ya Faragha.
kubali yote sanidi kataa