মডিউল পাঠ (2/4)
async / অপেক্ষা করুন
async/await হল প্রতিশ্রুতিগুলির সাথে কাজ করার জন্য একটি পরিষ্কার বাক্য গঠন: কোডটি এর মতো পড়ে
সিঙ্ক্রোনাস কোড, কিন্তু পর্দার আড়ালে এটি আগের পাঠের মতো ঠিক একই প্রতিশ্রুতি ব্যবহার করে।
async function
async এর সাথে ঘোষিত একটি ফাংশন সর্বদা একটি প্রতিশ্রুতি প্রদান করে।
async function forty() {
return 40;
}
forty(); // Promise { 40 }
forty().then((v) => console.log(v)); // 40এমনকি আপনি একটি "স্বাভাবিক" মান ফেরত দিলেও, ফাংশনটি এটিকে একটি সমাধান করা প্রতিশ্রুতিতে মোড়ানো হয়।
await
একটি async function এর ভিতরে আপনি একটি প্রতিশ্রুতির আগে await লাগাতে পারেন: সম্পাদন বিরাম দেওয়া হয়েছে
প্রতিশ্রুতি স্থির না হওয়া পর্যন্ত, তারপর সমাধানকৃত মান দিয়ে চলতে থাকে।
async function sum() {
const a = await Promise.resolve(10);
const b = await Promise.resolve(20);
return a + b; // 30
}.then শৈলীতে সমতুল্য (আরো শব্দার্থ):
function sum() {
return Promise.resolve(10).then((a) => Promise.resolve(20).then((b) => a + b));
}await ত্রুটি প্রচার করে
প্রতিশ্রুতি প্রত্যাখ্যান হলে, await ত্রুটিটি পুনঃথ্রো করে। আপনি এটি একটি স্বাভাবিক সঙ্গে ধরতে পারেন
try/catch:
async function read() {
try {
const x = await Promise.reject(new Error('no'));
return x;
} catch (err) {
return 'error: ' + err.message;
}
}
read(); // Promise { 'error: no' }অ্যারো অ্যাসিঙ্ক
const double = async (n) => n * 2;
double(5); // Promise { 10 }চেষ্টা করে দেখুন
একটি `অ্যাসিঙ্ক ফাংশন addOne(p)` সংজ্ঞায়িত করুন যেটি একটি সংখ্যার প্রতিশ্রুতি পায় এবং নম্বরটি (প্রতিশ্রুতি হিসাবে) প্রদান করে + 1। অপেক্ষা করুন ব্যবহার করুন।
ইঙ্গিত দেখান
const n = await p; রিটার্ন n + 1;
সমাধান 3 প্রচেষ্টার পরে উপলব্ধ
ব্যায়াম পর্যালোচনা করুন
`sumTwo(pa, pb)` async সংজ্ঞায়িত করুন: সংখ্যার দুটি প্রতিশ্রুতি পায়, তাদের যোগফল প্রদান করে। দুটি অনুক্রমিক অপেক্ষা ব্যবহার করুন।
ইঙ্গিত দেখান
প্রত্যেকের জন্য অপেক্ষা করুন, তারপর a + b ফেরত দিন।
সমাধান 3 প্রচেষ্টার পরে উপলব্ধ