"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > जावास्क्रिप्ट के साथ अपने वादों को नियंत्रित करें

जावास्क्रिप्ट के साथ अपने वादों को नियंत्रित करें

2024-11-01 को प्रकाशित
ब्राउज़ करें:414

Controla tus promesa con JavaScript

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

इस लेख में, हम देखेंगे कि वादे क्या हैं, वे कैसे काम करते हैं, और वे आपके ऐप के प्रवाह को कैसे बेहतर बना सकते हैं। आइए विवरण में उतरें।

जावास्क्रिप्ट में एक वादा क्या है?

जावास्क्रिप्ट में एक वादा एक वस्तु है जो एक अतुल्यकालिक ऑपरेशन के अंतिम समापन (या विफलता) और उसके परिणामी मूल्य का प्रतिनिधित्व करता है। दूसरे शब्दों में, एक वादा एक मध्यस्थ है जो अतुल्यकालिक कोड निष्पादन को संभालता है और आपको उन मूल्यों के साथ काम करने की अनुमति देता है जो कोड लिखने के समय अभी तक ज्ञात नहीं हैं।

वादों की मुख्य विशेषताएं:

  • लंबित: प्रारंभिक स्थिति, जहां अतुल्यकालिक ऑपरेशन अभी तक समाप्त नहीं हुआ है।
  • समाधान (पूरा): एसिंक्रोनस ऑपरेशन सफलतापूर्वक पूरा हो गया है और एक परिणाम प्राप्त हो गया है।
  • अस्वीकृत: एसिंक्रोनस ऑपरेशन विफल हो गया और एक कारण या त्रुटि प्रदान की गई है।

वादे का यह जीवन चक्र "कॉलबैक नरक" से बचते हुए, अतुल्यकालिक संचालन को अधिक स्पष्ट और कुशलता से संभालने की अनुमति देता है।

वादों का उपयोग क्यों करें?

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

इसके अलावा, वादे अन्य मामलों में भी लागू होते हैं, जैसे:

  • फ़ाइल हेरफेर: आप किसी अन्य कार्य को चलाने से पहले किसी फ़ाइल के अपलोड या संसाधित होने की प्रतीक्षा कर सकते हैं।
  • DOM संशोधन: यदि आपको यह सुनिश्चित करने की आवश्यकता है कि अन्य परिचालन जारी रखने से पहले कुछ इंटरफ़ेस परिवर्तन पूरे हो गए हैं।

वादे आपको कई अतुल्यकालिक परिचालनों को अधिक पठनीय और रखरखाव योग्य तरीके से एक साथ जोड़ने की अनुमति भी देते हैं।

जावास्क्रिप्ट में वादों का उपयोग कैसे करें

एक वादा बनाने के लिए, प्रॉमिस कंस्ट्रक्टर का उपयोग किया जाता है, जो दो तर्कों के साथ एक फ़ंक्शन पास करता है: समाधान और अस्वीकार।

let miPromesa = new Promise((resolve, reject) => {
    // Simulación de una operación asíncrona
    let exito = true;

    if (exito) {
        resolve("Operación exitosa!");
    } else {
        reject("Ocurrió un error.");
    }
});

किसी वादे के परिणाम को संभालने के लिए, .then() और .catch() तरीकों का उपयोग किया जाता है:

miPromesa
    .then((mensaje) => {
        console.log(mensaje); // "Operación exitosa!"
    })
    .catch((error) => {
        console.error(error); // "Ocurrió un error."
    });`

कॉलबैक की तुलना में वादों के लाभ

वादे पेश किए जाने से पहले, अतुल्यकालिक संचालन को संभालना मुख्य रूप से कॉलबैक के साथ किया जाता था। हालाँकि, इससे ऐसे कोड बन सकते थे जिनका पालन करना और बनाए रखना मुश्किल था, खासकर जब कई कॉलबैक नेस्टेड थे, जिन्हें "कॉलबैक हेल" के रूप में जाना जाता था।

वादों के लाभ:

  • पठनीयता: कोड को पढ़ना और अनुसरण करना आसान है।
  • रखरखाव: त्रुटियों की पहचान और प्रबंधन की सुविधा प्रदान करता है।
  • चेनिंग: आप कई एसिंक्रोनस ऑपरेशंस को अधिक व्यवस्थित तरीके से चेन कर सकते हैं।

वादे बनाम Async/प्रतीक्षा

हालांकि वादों में कॉलबैक की तुलना में महत्वपूर्ण सुधार हुआ है, ईसीएमएस्क्रिप्ट 2017 में एसिंक/वेट की शुरूआत ने एसिंक्रोनस ऑपरेशंस को संभालने के लिए सिंटैक्स को और सरल बना दिया है।

async function obtenerDatos() {
    try {
        let response = await fetch('https://jsonplaceholder.typicode.com/posts/1');
        let data = await response.json();
        console.log(data);
    } catch (error) {
        console.error('Error:', error);
    }
}

एसिंक/प्रतीक्षा के साथ, कोड अधिक रैखिक हो जाता है, सिंक्रोनस कोड के समान, लेकिन हुड के नीचे अभी भी एसिंक्रोनस है। हालाँकि, यह ध्यान रखना महत्वपूर्ण है कि async/await अभी भी अपने मूल में वादों का उपयोग करता है, इसलिए यह समझना कि वादे कैसे काम करते हैं, async/await के उपयोग में महारत हासिल करने के लिए महत्वपूर्ण है।

निष्कर्ष

जावास्क्रिप्ट में वादे कई कॉलबैक के साथ आपके कोड को जटिल किए बिना अतुल्यकालिक संचालन को संभालने के लिए एक शक्तिशाली उपकरण हैं। सर्वर के अनुरोधों से लेकर आपके एप्लिकेशन के भीतर अधिक जटिल कार्यों तक, वादे आपको स्पष्ट, अधिक पठनीय और बनाए रखने में आसान कोड लिखने की अनुमति देते हैं।

कोई फर्क नहीं पड़ता कि आप एक साधारण वेब एप्लिकेशन या अधिक जटिल सिस्टम बना रहे हैं, आपके कोड के प्रदर्शन को अनुकूलित करने के लिए वादों को संभालना सीखना आवश्यक है।

विज्ञप्ति वक्तव्य यह आलेख यहां पुन: प्रस्तुत किया गया है: https://dev.to/bearpoint/controla-tus-promesa-con-javascript-51c8?1 यदि कोई उल्लंघन है, तो कृपया इसे हटाने के लिए [email protected] से संपर्क करें।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3