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