⊗jsSpACEx 158 of 294 menu

जावास्क्रिप्ट में एसिंक्रोनस कॉलबैक में एक्सेप्शन

मान लीजिए, कि यदि पैरामीटर make में ऐरे के गैर-मौजूदा एलिमेंट का नंबर पास किया गया है - यह एक एक्सेप्शनल सिचुएशन है। जैसा कि आप पहले से जानते हैं, एसिंक्रोनस फंक्शन के अंदर उत्पन्न होने वाले एक्सेप्शन को 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çaisMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
हम साइट के कार्य, विश्लेषण और व्यक्तिगतकरण के लिए कुकीज़ का उपयोग करते हैं। डेटा प्रसंस्करण गोपनीयता नीति के अनुसार किया जाता है।
सभी स्वीकार करें कॉन्फ़िगर करें अस्वीकार करें