The Async Await Episode I Promised
What You Will Learn
- Async/Await का उपयोग करके एसिंक्रोनस कोड को सिंक्रोनस कोड की तरह लिखना सीखेंगे
- प्रमिस और एसिंक्रोनस कोड को समझने में मदद मिलेगी
- एसिंक्रोनस कोड को एक साथ चलाने के लिए प्रोमिस.ऑल का उपयोग करना सीखेंगे
Key Concepts
- एसिंक्रोनस प्रोग्रामिंग: जावास्क्रिप्ट एक सिंगल-थ्रेडेड प्रोग्रामिंग लैंग्वेज है, लेकिन वेब पर किया जाने वाला अधिकांश काम ब्लॉकिंग या समय लेने वाला होता है, इसलिए एसिंक्रोनस प्रोग्रामिंग एक आवश्यक कौशल है।
- इवेंट लूप: ब्राउज़र और नोडजेएस में एक इवेंट लूप होता है जो सिंक्रोनस कोड को चलाता है और एसिंक्रोनस इवेंट को क्यू में रखता है।
- प्रोमिस: प्रोमिस एक वादा है जो कुछ समय बाद पूरा हो जाता है, और यह एसिंक्रोनस कोड को संभालने का एक तरीका है।
Code Examples
console.log('सिंक्रोनस कोड');
setTimeout(() => {
console.log('एसिंक्रोनस कोड');
}, 0);
यह कोड सिंक्रोनस कोड को चलाता है और फिर एसिंक्रोनस कोड को क्यू में रखता है।
fetch('https://api.example.com/data')
.then(response => response.json())
.then(data => console.log(data));
यह कोड एक प्रोमिस-आधारित एपीआई को कॉल करता है और फिर डेटा को जेसन में परिवर्तित करता है।
async function makeSmoothie() {
const pineapple = await getFruit('पाइनएप्पल');
const strawberry = await getFruit('स्ट्रॉबेरी');
return [pineapple, strawberry];
}
यह कोड एक एसिंक्रोनस फंक्शन को परिभाषित करता है जो दो प्रोमिस को एक साथ चलाता है।
Lesson Summary
इस लेसन में, हमने एसिंक्रोनस प्रोग्रामिंग के बारे में सीखा, जो जावास्क्रिप्ट में एक महत्वपूर्ण कौशल है। हमने इवेंट लूप के बारे में सीखा, जो ब्राउज़र और नोडजेएस में एक सिंगल-थ्रेडेड इवेंट लूप होता है। हमने प्रोमिस के बारे में भी सीखा, जो एक वादा है जो कुछ समय बाद पूरा हो जाता है। हमने देखा कि कैसे प्रोमिस का उपयोग करके एसिंक्रोनस कोड को सिंक्रोनस कोड की तरह लिखा जा सकता है। हमने एसिंक्रोनस कोड को एक साथ चलाने के लिए प्रोमिस.ऑल का उपयोग करना भी सीखा।
Practice Exercise
एक एसिंक्रोनस फंक्शन लिखें जो दो प्रोमिस को एक साथ चलाता है और फिर दोनों प्रोमिस के परिणाम को एक साथ मिलाता है।
What Is Next
अगले लेसन में, हम एरर हैंडलिंग के बारे में सीखेंगे और देखेंगे कि कैसे एसिंक्रोनस कोड में एरर को संभालना है।