Writing cleaner asynchronous code with async/await in hindi

Writing cleaner asynchronous code with async/await In Hindi

जावास्क्रिप्ट प्रोग्रामिंग में async और await कॉलबैक मेथड या प्रॉमिस फंक्शन की बजाए एसिंक्रोनस प्रोग्राम कोड के मेंटेनेंस और रीडेबिलिटी में बेहतर योगदान प्रदान करते हैं। ये जावास्क्रिप्ट प्रोग्रामर को एसिंक्रोनस प्रोग्राम सोर्स कोड को प्रॉपर एसिंक्रोनस आर्डर में क्रिएट करने में हेल्प करते हैं, जिससे कि प्रोग्राम सोर्स कोड सिंक्रोनस कोड की तरह प्रीव्यू और बिहेव करता है, जो की प्रोग्रामर को प्रोग्राम में कॉलबैक हेल या डीप नेस्टेड .then() चेन में टास्क आर्गुमेंट करना और इसे अवाइड करना मुमकिन करता है। 

Writing cleaner asynchronous code with asyncawait in hindi

async and await functions in JavaScript.

  • async function – जावास्क्रिप्ट प्रोग्राम में async फंक्शन के साथ डिक्लेअर किया गया एक फ़ंक्शन है, और यह ऑटोमेटिकली रूप से प्रोग्राम में एक प्रॉमिस वैल्यू को रिटर्न करता है। जावास्क्रिप्ट प्रोग्राम में async कीवर्ड को ऐसे फ़ंक्शन डिफाइन करने में किया जाता है, जो मौजूदा प्रोग्राम में हमेशा एक प्रॉमिस वैल्यू को रिटर्न करता है, यहाँ प्रोग्राम में चाहे कोई प्रॉमिस वैल्यू रिटर्न करे या आउटपुट के रूप में कोई एरर जनरेट हो।
  • await function – जावास्क्रिप्ट प्रोग्राम में async फ़ंक्शन के अंदर, await कीवर्ड का उपयोग फ़ंक्शन के एक्सेक्यूशन को स्टॉप करने में किया जा सकता है. जब तक कि मौजूदा प्रोग्राम में प्रॉमिस कंडीशन आर्गुमेंट सॉल्व  या रिजेक्ट न हो जाए। यह फंक्शन मौजूदा प्रोग्राम में एसिंक्रोनस प्रोग्राम सोर्स कोड को सिंक्रोनस बिहैवियर को इनेबल करता है।

Basic syntax of async function in JavaScript.

/async function testAsyncFunction() {

    return “Welcome to Vcanhelpsu Website”;

}

// here it use to Calling the test async function

testAsyncFunction().then(output => console.log(output));  // it display output – Welcome to Vcanhelpsu Website

यहाँ इस प्रोग्राम में testAsyncFunction फ़ंक्शन एक एसिंक्रोनस फंक्शन है, और यह फंक्शन ऑटोमेटिकली आर्डर में एक प्रॉमिस वैल्यू को रिटर्न करता है।

इस कंडीशन में, testAsyncFunction “Welcome to Vcanhelpsu Website” टेक्स्ट मैसेज को रिटर्न करता है।

Use of await function in JavaScript.

जावास्क्रिप्ट प्रोग्राम में await कीवर्ड को अप्लाई किसी प्रोग्राम प्रॉमिस टास्क के सॉल्व होने में वेट प्रोसेस को फॉलो किया जाता है। इस फंक्शन को अप्लाई केवल async फ़ंक्शन के अंदर किया जा सकता है। जब मौजूदा प्रोग्राम में कोई प्रॉमिस सॉल्व हो कर वैल्यू को रिटर्न करता है, तो यहाँ await फंक्शन सॉल्व किया गया आउटपुट वैल्यू को रिटर्न करता है। यहाँ यदि प्रोग्राम में प्रॉमिस कंडीशन को रिजेक्ट कर दिया जाता है, तो यह मौजूदा प्रोग्राम में एक एरर को जनरेट करेगा, फिर प्रोग्रामर इसे try-catch ब्लॉक को अप्लाई करके मौजूदा प्रोग्राम में कैच कर सकते हैं।

Example of async and await in JavaScript.

// let create an asynchronous process using a promise function

function process1() {

    return new Promise((resolve, reject) => {

        setTimeout(() => {

            resolve(“process 1 is done”);

        }, 2000);

    });

}

// here we use async/await function to control

async function executeprocess() {

    const output = await process1();  // here it Wait for process1 to resolve

    console.log(output);  // it display the result “process 1 is done”

}

executeprocess();

Explanation of async and await function.

इस प्रोग्राम में process1() एक प्रॉमिस वैल्यू को रिटर्न करता है, जो 2 मिलीसेकंड के बाद आटोमेटिक सॉल्व होता है।

यहाँ executeprocess() के अंदर, हम आउटपुट मैसेज लॉग करने से पहले process1() के सॉल्व होने की वेट करने के लिए await फंक्शन को अप्लाई करते हैं।

executeprocess() फ़ंक्शन एक असिन्क्रोनस फंक्शन है।

Handling multiple asynchronous operations in a JavaScript program.

जावास्क्रिप्ट प्रोग्राम में मल्टीप्ल असिंक्रोनोस फंक्शन ऑपरेशन को मैनेज करते समय, प्रोग्रामर हर प्रोग्राम ऑपरेशन के लिए await फंक्शन को अप्लाई कर सकते हैं। प्रोग्राम सोर्स कोड सीक्वेंस आर्डर में एक्सेक्यूट होगा, यहाँ प्रोग्राम नेक्स्ट लाइन पर मूव होने से पहले प्रत्येक प्रॉमिस के सॉल्व होने तक वेट करेगा।

Example of multiple asynchronous sequential execution.

function process2() {

    return new Promise((resolve, reject) => {

        setTimeout(() => {

            resolve(“Process 2 is done”);

        }, 2000);

    });

}

async function executeprocess() {

    const output1 = await process1();  // here it Wait for process1 to solve

    console.log(output1);  // its display result “Process 1 is done”

    const output2 = await process2();  // here it Wait for process2 to solve

    console.log(output2);  // here it display the result “Process 2 is done”

}

executeprocess();

Explanation of multiple asynchronous sequential.

यहाँ इस प्रोग्राम में सबसे पहले, process1() के कम्पलीट होने का वेट कीया जाता है, और रिजल्ट को आउटपुट में डिस्प्ले किया जाता है।

इसके बाद, process2() टास्क की वेट की जाती है, और इसके रिजल्ट को आउटपुट में डिस्प्ले किया जाता है।

मल्टीप्ल टास्क को सीक्वेंस आर्डर में एक्सेक्यूट किया जाता है, इसका मतलब है कि सेकंड प्रोसेस टास्क तब तक स्टार्ट नहीं होगा, जब तक की फर्स्ट प्रोसेस टास्क कम्पलीट नहीं हो जाता है।

Parallel execution with async/await in JavaScript.

यदि जावास्क्रिप्ट प्रोग्रामर को एक साथ कई असिंक्रोनोस टास्क को सीक्वेंस में पैरेलल आर्डर में एक्सेक्यूट करने की जरूरत है, तो जावास्क्रिप्ट प्रोग्रामर प्रत्येक टास्क प्रोसेस  के मैन्युअली वन-बाय-वन ऑर्डर में एक्सेक्यूट कम्पलीट होने की वेट करने के तुलना में सभी टास्क प्रोसेस प्रॉमिसेस को एक साथ एक्सेक्यूट करने के लिए async/await फंक्शन के साथ Promise.all() फंक्शन को अप्लाई कर सकते हैं।

Example of JavaScript parallel execution.

async function executeprocessInParallel() {

    const [output1, output2] = await Promise.all([process1(), process2()]);

    console.log(output1);  // it display the output  “process 1 is done”

    console.log(output2);  // it display the output “process 2 is done”

}

executeprocessInParallel();

Explanation of JavaScript parallel execution.

इस प्रोग्राम में Promise.all() प्रॉमिसेस की एक ऐरे को इनपुट करता है, और इन  सभी प्रॉमिसेस प्रोसेस के सॉल्व होने का वेट करता है।

यहाँ process1() और process2() दोनों के आउटपुट रिजल्ट एक ऐरे के रूप में रिटर्न किए जाते हैं, जो की output1 और आउटपुट2 में डिस्प्ले करते हैं।

यहाँ Promise.all() फंक्शन को अप्लाई करके, हम दोनों टास्क प्रोसेस को एक साथ एक्सेक्यूट करते हैं, और फाइनल टास्क कम्पलीट होते ही दोनों टास्क प्रोसेस आटोमेटिक टर्मिनेट हो जाते हैं।

Use of async/await function in Promise.all() for concurrent execution and error management in JavaScript.

जावास्क्रिप्ट प्रोग्रामर यदि पैरेलल टास्क एक्सेक्यूशन के लिए Promise.all() फंक्शन को अप्लाई करते हैं, और प्रोग्राम में जनरेट एरर को मैनेज करना चाहते हैं, तो प्रोग्रामर प्रत्येक इंडिविजुअल प्रॉमिस मेथड को try-catch ब्लॉक मेथड को उपयोग कर सकते हैं, या Promise.all() फंक्शन के अंदर हर इंडिविजुअल प्रॉमिस में .catch() ब्लॉक को अप्लाई कर सकते हैं। जबकि, यदि प्रोग्रामर को किसी एक प्रॉमिस  रिजेक्शन मैनेजमेंट की जरूरत है, तो यहाँ प्रोग्राम में पूरा Promise.all() फंक्शन फ़ैल या रिजेक्ट हो जाएगा।

Example of error handling with async/await function with Promise.all().

async function executemultipleprocess() {

    try {

        const [output1, output2, output3] = await Promise.all([

            process1(),  // process1 done successfully

            process2(),  // process2 done successfully

            process3()   // here it Rejects process3 with an program error

        ]);

        console.log(output1);

        console.log(output2);

        console.log(output3);

    } catch (error) {

        console.log(“it display Error”, error);  // here it used to catch the error from process3

    }

}

executemultipleprocess();

यहाँ इस कंडीशन  में, process3 टास्क फ़ैल हो जाता है, इस वजह से, कम्पलीट Promise.all() फंक्शन को रिजेक्ट कर दिया जाता है, और प्रोग्राम में एरर को catch ब्लॉक में कैच किया जाता है।

Benefits of using async/await in JavaScript programming.

  • Program readability – जावास्क्रिप्ट प्रोग्राम में async/await फंक्शन एसिंक्रोनस सोर्स कोड को सिंक्रोनस कोड के जैसे प्रीव्यू और बिहैवियर को इनेबल करता है, जिससे की इन प्रोग्राम को रीड राइट और अंडरस्टैंड करना आसान हो जाता है।
  • Source code error management – जावास्क्रिप्ट में try-catch ब्लॉक के साथ प्रोग्राम एरर मैनेजमेंट, प्रॉमिस चेन में .catch() ब्लॉक डीलिंग की तुलना में आसान है।
  • Easy maintenance – async/await फंक्शन मौजूदा प्रोग्राम में कॉलबैक मेथड की कम्प्लेक्सिटी को कम करता है, और प्रोग्राम के एसिंक्रोनस फ्लो को अधिक क्लियर और अधिक मेंटेनेंस कम्पेटिबल बनाता है।
  • Code error propagation – जावास्क्रिप्ट प्रोग्रामर सिंक्रोनस प्रोग्राम सोर्स कोड की तरह ही throw कीवर्ड को अप्लाई करके एसिंक्रोनस प्रोग्राम कोड में एरर को आसानी मैनेज और एक्स्प्लोर कर सकते हैं।

Summary of async and await function methods in JavaScript.

  • जावास्क्रिप्ट प्रोग्राम में async फ़ंक्शन हमेशा एक प्रॉमिस मेथड वैल्यू को रिटर्न करते हैं।
  • जहा await फंक्शन प्रोग्राम में किसी async फ़ंक्शन के डिफ़ॉल्ट एक्सेक्यूशन को तब स्टॉप कर देता है, जब तक कि मौजूदा प्रोग्राम में कोई प्रॉमिस कम्पलीट या रिजेक्ट न हो जाए, जिससे असिंक्रोनोस सोर्स कोड अधिक रीडेबल और सिंक्रोनस जैसा कन्वर्ट हो जाता है।
  • जरूरत पड़ने पर प्रोग्रामर async/await फंक्शन में सोर्स कोड एरर मैनेजमेंट के लिए try-catch ब्लॉक मेथड को अप्लाई कर सकते है।
  • जरूरत पड़ने पर प्रोग्रामर Promise.all() फंक्शन को अप्लाई करके प्रोग्राम प्रॉमिसेस को पैरेलल आर्डर में रन करे और उन सभी प्रॉमिसेस के सॉल्व होने का वेट करें।
  • जावास्क्रिप्ट प्रोग्रामिंग में async/await फंक्शन प्रोग्रामर जावास्क्रिप्ट में अधिक क्लियर, अधिक मेंटेनेंस कम्पेटिबल और अधिक रीडेबल असिंक्रोनोस प्रोग्राम सोर्स कोड क्रिएट करने में हेल्प करता है।

Leave a Reply