उपयोग करने के लिए await
, इसका निष्पादन संदर्भ async
प्रकृति में होना चाहिए
जैसा कि कहा गया है, आपको अपनी प्रकृति को परिभाषित करने की आवश्यकता है executing context
जहां आप await
किसी भी चीज़ से पहले किसी कार्य के लिए तैयार हैं ।
बस async
उस fn
घोषणा से पहले रखें जिसमें आपका async
कार्य निष्पादित होगा।
var start = async function(a, b) {
// Your async task will execute with await
await foo()
console.log('I will execute after foo get either resolved/rejected')
}
स्पष्टीकरण:
आपके प्रश्न में, आप आयात कर रहे हैं method
जो asynchronous
प्रकृति में है और समानांतर में निष्पादित होगा। लेकिन जहाँ आप उस async
तरीके को अंजाम देने की कोशिश कर रहे हैं, वह अलग है, execution context
जिसे आपको async
उपयोग करने के लिए परिभाषित करने की आवश्यकता है await
।
var helper = require('./helper.js');
var start = async function(a,b){
....
const result = await helper.myfunction('test','test');
}
exports.start = start;
आश्चर्य है कि हुड के नीचे क्या हो रहा है
await
खपत / भविष्य / कार्य-वापसी के तरीके / कार्य और async
प्रतीक्षा करने में सक्षम के रूप में एक विधि / कार्य को चिह्नित करता है।
इसके अलावा अगर आप परिचित हैं promises
, await
वास्तव में वादे / संकल्प की एक ही प्रक्रिया कर रहे हैं। वादा की एक श्रृंखला बनाने और आप में अगले कार्य को क्रियान्वित करता हैresolve
कॉलबैक ।
अधिक जानकारी के लिए आप एमडीएन डॉक्स का उल्लेख कर सकते हैं ।
await
केवल एकasync
फ़ंक्शन के अंदर उपयोग किया जा सकता है । यही है,await
एक फ़ंक्शन को अतुल्यकालिक बनाता है, इसलिए इसे इस तरह से घोषित किया जाना चाहिए।