कुशल और तरल अनुप्रयोग बनाने के लिए जावास्क्रिप्ट में अतुल्यकालिक संचालन को संभालना आवश्यक है। यहीं पर वादे काम आते हैं। क्या आपने कभी सोचा है कि सर्वर से प्रतिक्रिया की प्रतीक्षा करते समय अपने कोड को ब्लॉक होने से कैसे बचाया जाए? या शायद, आप कुछ कार्यों को दूसरे कार्यों के समाप्त होने के बाद ही कैसे निष्पादित कर सकते हैं? खैर, जावास्क्रिप्ट में वादे वह समाधान हैं जिसकी आप तलाश कर रहे थे।
इस लेख में, हम देखेंगे कि वादे क्या हैं, वे कैसे काम करते हैं, और वे आपके ऐप के प्रवाह को कैसे बेहतर बना सकते हैं। आइए विवरण में उतरें।
जावास्क्रिप्ट में एक वादा एक वस्तु है जो एक अतुल्यकालिक ऑपरेशन के अंतिम समापन (या विफलता) और उसके परिणामी मूल्य का प्रतिनिधित्व करता है। दूसरे शब्दों में, एक वादा एक मध्यस्थ है जो अतुल्यकालिक कोड निष्पादन को संभालता है और आपको उन मूल्यों के साथ काम करने की अनुमति देता है जो कोड लिखने के समय अभी तक ज्ञात नहीं हैं।
वादे का यह जीवन चक्र "कॉलबैक नरक" से बचते हुए, अतुल्यकालिक संचालन को अधिक स्पष्ट और कुशलता से संभालने की अनुमति देता है।
सर्वर के अनुरोधों के साथ काम करते समय वादे विशेष रूप से उपयोगी होते हैं। कल्पना करें कि आप डेटा प्राप्त करने के लिए HTTP अनुरोध करते हैं। प्रतीक्षा समय अलग-अलग हो सकता है, और आप नहीं चाहेंगे कि प्रतिक्रिया आने तक आपका आवेदन रुक जाए। वादों का उपयोग करने से आपका कोड बिना प्रतीक्षा किए निष्पादित होता रहता है, जिससे आपके एप्लिकेशन के समग्र प्रदर्शन में सुधार होता है।
इसके अलावा, वादे अन्य मामलों में भी लागू होते हैं, जैसे:
वादे आपको कई अतुल्यकालिक परिचालनों को अधिक पठनीय और रखरखाव योग्य तरीके से एक साथ जोड़ने की अनुमति भी देते हैं।
एक वादा बनाने के लिए, प्रॉमिस कंस्ट्रक्टर का उपयोग किया जाता है, जो दो तर्कों के साथ एक फ़ंक्शन पास करता है: समाधान और अस्वीकार।
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." });`
वादे पेश किए जाने से पहले, अतुल्यकालिक संचालन को संभालना मुख्य रूप से कॉलबैक के साथ किया जाता था। हालाँकि, इससे ऐसे कोड बन सकते थे जिनका पालन करना और बनाए रखना मुश्किल था, खासकर जब कई कॉलबैक नेस्टेड थे, जिन्हें "कॉलबैक हेल" के रूप में जाना जाता था।
वादों के लाभ:
हालांकि वादों में कॉलबैक की तुलना में महत्वपूर्ण सुधार हुआ है, ईसीएमएस्क्रिप्ट 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 के उपयोग में महारत हासिल करने के लिए महत्वपूर्ण है।
जावास्क्रिप्ट में वादे कई कॉलबैक के साथ आपके कोड को जटिल किए बिना अतुल्यकालिक संचालन को संभालने के लिए एक शक्तिशाली उपकरण हैं। सर्वर के अनुरोधों से लेकर आपके एप्लिकेशन के भीतर अधिक जटिल कार्यों तक, वादे आपको स्पष्ट, अधिक पठनीय और बनाए रखने में आसान कोड लिखने की अनुमति देते हैं।
कोई फर्क नहीं पड़ता कि आप एक साधारण वेब एप्लिकेशन या अधिक जटिल सिस्टम बना रहे हैं, आपके कोड के प्रदर्शन को अनुकूलित करने के लिए वादों को संभालना सीखना आवश्यक है।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3