প্রতিশ্রুতি বস্তুটি একটি অ্যাসিঙ্ক্রোনাস অপারেশনের চূড়ান্ত সমাপ্তি (বা ব্যর্থতা) এবং এর ফলস্বরূপ মানকে প্রতিনিধিত্ব করে। 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 await ব্যবহার করতে পারি −
উদাহরণ
// 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