⊗jsSpACEx 158 of 294 menu

Pengecualian dalam Callback Asinkron di JavaScript

Misalkan, jika parameter make dilewatkan nomor elemen array yang tidak ada - itu adalah situasi pengecualian. Seperti yang sudah Anda ketahui, pengecualian yang muncul di dalam fungsi asinkron tidak dapat ditangkap melalui try-catch. Dalam kasus kita, pengecualian yang muncul di dalam make atau callback, tidak akan tertangkap:

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

Dalam pendekatan callback, bekerja dengan pengecualian dilakukan sebagai berikut: parameter pertama callback digunakan untuk mengirim hasil, dan yang kedua - untuk kesalahan. Dalam hal ini, penanganan kesalahan terjadi sebagai berikut:

make(10, function(res, err) { if (!err) { console.log(res); // tidak ada kesalahan, tampilkan hasil } else { console.log(err); // kesalahan terjadi, tampilkan teksnya } });

Mari kita ubah kode fungsi kita make sesuai dengan yang dijelaskan:

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