मैं अपने अनुप्रयोगों में ECMAScript 6 और ECMAScript 7 सुविधाओं का पहले से ही (बैबल के लिए धन्यवाद) उपयोग कर रहा हूं - मोबाइल और वेब दोनों।
पहला चरण स्पष्ट रूप से ECMAScript 6 स्तरों पर था। मैंने कई एसिंक्स पैटर्न सीखे, वादे (जो वास्तव में आशाजनक हैं), जनरेटर (निश्चित नहीं कि * प्रतीक) क्यों, आदि इनमें से वादे, मेरे उद्देश्य के अनुकूल हैं। और मैं उन्हें अपने अनुप्रयोगों में काफी उपयोग कर रहा हूं।
यहाँ एक उदाहरण / pseudocode है कि मैंने एक मूल वादा कैसे लागू किया है-
var myPromise = new Promise(
function (resolve,reject) {
var x = MyDataStore(myObj);
resolve(x);
});
myPromise.then(
function (x) {
init(x);
});
जैसे-जैसे समय बीतता गया, मैं ECMAScript 7 सुविधाओं में आया, और उनमें से एक ASYNC
और AWAIT
कीवर्ड / फ़ंक्शंस। ये संयोजन महान चमत्कार करते हैं। मैंने अपने कुछ वादों को बदलना शुरू कर दिया है async & await
। वे प्रोग्रामिंग शैली में बहुत अधिक मूल्य जोड़ते हैं।
फिर, यहाँ कैसे मेरे async, प्रतीक्षा समारोह की तरह एक छद्म है-
async function myAsyncFunction (myObj) {
var x = new MyDataStore(myObj);
return await x.init();
}
var returnVal = await myAsyncFunction(obj);
वाक्यविन्यास त्रुटियों (यदि कोई हो) को एक तरफ रखते हुए, वे दोनों वही करते हैं जो मुझे लगता है। मैं अपने अधिकांश वादों को async, प्रतीक्षा के साथ बदलने में सक्षम रहा हूँ।
जब कोई समान काम करता है तो async, प्रतीक्षा की आवश्यकता क्यों होती है?
क्या async, एक बड़ी समस्या का समाधान इंतजार कर रहा है? या यह नरक कॉल करने के लिए सिर्फ एक अलग समाधान था?
जैसा कि मैंने पहले कहा था, मैं वादों और async का उपयोग करने में सक्षम हूं, उसी समस्या को हल करने के लिए इंतजार कर रहा हूं। क्या ऐसा कुछ विशिष्ट है जो async प्रतीक्षा का हल है?
अतिरिक्त नोट्स:
मैं अपनी प्रतिक्रिया परियोजनाओं और Node.js मॉड्यूल में बड़े पैमाने पर एसिंक्रेट, वेट और वादों का उपयोग कर रहा हूं। रिएक्ट विशेष रूप से एक प्रारंभिक पक्षी रहा है और उसने बहुत सारी ईसीएमएस्क्रिप्ट 6 और ईसीएमएस्क्रिप्ट 7 विशेषताओं को अपनाया है।