प्रॉमिस ऑब्जेक्ट एक एसिंक्रोनस ऑपरेशन के अंतिम समापन (या विफलता) और इसके परिणामी मूल्य का प्रतिनिधित्व करता है। Async वेट फंक्शन और ऑपरेटर्स वादों पर काम करते हैं।
Async/प्रतीक्षा फ़ंक्शन हमें दृश्यों के पीछे async कार्यों को निष्पादित करते हुए पूरी तरह से तुल्यकालिक-दिखने वाले कोड लिखने में मदद करते हैं।
उदाहरण के लिए, मान लें कि हमारे पास एक एसिंक्रोनस फ़ंक्शन है जो एक वादा देता है -
// Promise that resolves to 100 after 2sec function getHundred() { return new Promise(resolve => { setTimeout(() => { resolve(100); }, 2000); }); }
हम इसे एक फ़ंक्शन में उपयोग करना चाहते हैं, लेकिन हमें वापसी मूल्य की प्रतीक्षा करने की आवश्यकता है। कॉलबैक का उपयोग करके हम इसे निम्न तरीके से कर सकते हैं -
function useGetHundred() { getHundred().then((value) => { console.log(value); }) }
लेकिन हमें लौटाए गए डेटा पर निष्पादित करने के लिए अनावश्यक रूप से कॉलबैक बनाने की आवश्यकता है। इसके बजाय हम इस कोड को सरल बनाने के लिए async Wait का उपयोग कर सकते हैं -
उदाहरण
// Declare an async function. When this function is called, it'll also return a Promise // But inside this function any async calls can be made synchronous using await keyword async function useGetHundredAsync() { // wait for the getHundred promise to resolve then store its value in value. let value = await getHundred(); console.log(value) }
आउटपुट
100