⊗jsSpACEx 158 of 294 menu

Pengecualian dalam Callback Asinkron dalam JavaScript

Katakan, jika parameter make menghantar nombor elemen array yang tidak wujud - itu adalah situasi pengecualian. Seperti yang anda sudah tahu, pengecualian yang timbul di dalam fungsi asinkron tidak boleh ditangkap melalui try-catch. Dalam kes kita, pengecualian yang timbul di dalam make atau callback, tidak akan ditangkap:

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

Dalam pendekatan callback, bekerja dengan pengecualian dilakukan seperti berikut: parameter pertama callback menghantar hasil, dan yang kedua - ralat. Dalam kes ini, pengendalian ralat berlaku seperti berikut:

make(10, function(res, err) { if (!err) { console.log(res); // tiada ralat berlaku, paparkan hasil } else { console.log(err); // ralat berlaku, paparkan teksnya } });

Mari kita ubah suai kod fungsi make kita mengikut yang diterangkan:

function make(num, callback) { setTimeout(function() { let arr = [1, 2, 3, 4, 5]; let err; if (arr[num] === undefined) { err = 'elem not exists'; // teks ralat } else { err = null; // tiada ralat } callback(arr[num], err); }, 3000); }
Melayu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Kami menggunakan kuki untuk operasi laman web, analisis dan personalisasi. Pemprosesan data dijalankan mengikut Polisi Kerahsiaan.
terima semua tataletak tolak