⊗jsSpPrmSS 174 of 294 menu

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

प्रोमिस हेल की समस्या के समाधान के लिए एक विशेष सिंटैक्स का आविष्कार किया गया था, जो असिंक्रोनस कोड को बहुत आसानी से लिखने की अनुमति देता है - सिंक्रोनस शैली में।

आइए इसका अध्ययन शुरू करें। शुरुआत के लिए पिछले पाठ से कोड लेते हैं:

function func() { getSmth(2).then(res => { console.log(res); // 4 प्रिंट करेगा }); } func();

यदि हमारा फ़ंक्शन getSmth सिंक्रोनस होता, तो फ़ंक्शन func का कोड हम निम्नलिखित तरीके से फिर से लिख सकते थे:

function func() { let res = getSmth(2); console.log(res); // 4 प्रिंट करेगा }

फ़ंक्शन getSmth, हालांकि, असिंक्रोनस है, इसलिए ऊपर दिया गया कोड काम नहीं करेगा। लेकिन, प्रोमिसेज की सिंक्रोनस शैली का उपयोग करके, हम कुछ ऐसा ही प्राप्त करने में सक्षम होंगे। आइए इसे करें।

शुरुआत में हमें अपने फ़ंक्शन func को विशेष कमांड async का उपयोग करके असिंक्रोनस घोषित करना होगा:

async function func() { }

इसके बाद हम फ़ंक्शन func के अंदर विशेष कमांड await का उपयोग करने में सक्षम होंगे। यह कमांड, एक प्रोमिस से पहले लिखी गई, जावास्क्रिप्ट को तब तक प्रतीक्षा करने के लिए मजबूर करेगी जब तक कि प्रोमिस पूरा नहीं हो जाता। इसके बाद कमांड प्रोमिस का परिणाम लौटाएगी, और कोड का निष्पादन जारी रहेगा।

हमारे मामले में, हमें await getSmth के कॉल से पहले लिखना होगा। चूंकि इस फ़ंक्शन के कॉल का परिणाम एक प्रोमिस होगा, इसलिए कोड का आगे का निष्पादन केवल इस प्रोमिस के पूरा होने के बाद ही जारी रहेगा। खैर, प्रोमिस के परिणाम को एक वेरिएबल में लिखा जा सकता है। आइए वर्णित कार्य करें:

async function func() { let res = await getSmth(2); console.log(res); // 4 प्रिंट करेगा } func();

आइए getSmth को कई बार कॉल करें:

async function func() { let res1 = await getSmth(2); let res2 = await getSmth(3); console.log(res1 + res2); // 13 प्रिंट करेगा } func();

और अब getSmth को एक लूप में कॉल करेंगे:

async function func() { let arr = [1, 2, 3, 4, 5]; let sum = 0; for (let elem of arr) { sum += await getSmth(elem); } console.log(sum); } func();

निम्नलिखित कोड को सिंक्रोनस सिंटैक्स के माध्यम से फिर से लिखें:

function func() { getSmth(2).then(res1 => { getSmth(3).then(res2 => { getSmth(4).then(res3 => { console.log(res1 + res2 + res3); }); }); }); } func();
हिन्दी
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
हम साइट के कार्य, विश्लेषण और व्यक्तिगतकरण के लिए कुकीज़ का उपयोग करते हैं। डेटा प्रसंस्करण गोपनीयता नीति के अनुसार किया जाता है।
सभी स्वीकार करें कॉन्फ़िगर करें अस्वीकार करें