उपयोग करने के लिए 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एक फ़ंक्शन को अतुल्यकालिक बनाता है, इसलिए इसे इस तरह से घोषित किया जाना चाहिए।