जावास्क्रिप्ट एक एकल-थ्रेडेड भाषा है, जिसका अर्थ है कि यह एक समय में केवल एक ही काम कर सकती है। हालाँकि, वेब एप्लिकेशन को अक्सर सर्वर से डेटा लाने जैसे कार्य करने की आवश्यकता होती है, जिसमें कुछ समय लग सकता है। यदि जावास्क्रिप्ट को आगे बढ़ने से पहले प्रत्येक कार्य के पूरा होने तक इंतजार करना पड़ता है, तो यह आपके वेब ऐप को धीमा और अनुत्तरदायी बना देगा। यहीं पर एसिंक्रोनस (async) जावास्क्रिप्ट आता है।
एसिंक्रोनस जावास्क्रिप्ट आपके कोड को एक कार्य शुरू करने और फिर उस कार्य के पूरा होने की प्रतीक्षा करते हुए अन्य कार्यों पर जाने की अनुमति देता है। एक बार कार्य समाप्त हो जाने पर, आपका कोड वापस आ सकता है और परिणाम संभाल सकता है। यह आपके ऐप को तेज़ और प्रतिक्रियाशील बनाए रखने में मदद करता है।
सिंक्रोनस बनाम एसिंक्रोनस:
console.log("Start"); let result = someFunction(); // This might take a while console.log("End");
सिंक्रोनस कोड में, "एंड" संदेश केवल someFunction() पूरा होने के बाद ही लॉग किया जाएगा, जो चीजों को धीमा कर सकता है।
एसिंक्रोनस: कार्य स्वतंत्र रूप से शुरू और समाप्त हो सकते हैं, इसलिए आपका कोड प्रतीक्षा में अटकता नहीं है। उदाहरण के लिए:
console.log("Start"); setTimeout(() => { console.log("End"); }, 2000);
यहां, "समाप्ति" संदेश 2 सेकंड के बाद लॉग किया जाएगा, लेकिन इस बीच, आपका कोड अन्य काम करना जारी रख सकता है।
कॉलबैक:
function fetchData(callback) { setTimeout(() => { let data = "Some data"; callback(data); }, 2000); } fetchData((data) => { console.log(data); // This will log "Some data" after 2 seconds });
वादे:
let promise = new Promise((resolve, reject) => { let success = true; if (success) { resolve("Task completed successfully!"); } else { reject("Task failed!"); } }); promise.then((message) => { console.log(message); }).catch((error) => { console.log(error); });
Async/प्रतीक्षा:
async function fetchData() { try { let data = await someAsyncTask(); console.log(data); } catch (error) { console.error("Error:", error); } }
उत्तरदायी, कुशल वेब एप्लिकेशन बनाने के लिए एसिंक जावास्क्रिप्ट को समझना आवश्यक है, क्योंकि यह आपके कोड को धीमे संचालन के पूरा होने की प्रतीक्षा में अटके बिना कार्य करने की अनुमति देता है।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3