DEV Community

Raihanul Islam Sharif
Raihanul Islam Sharif

Posted on

Async এবং await কিভাবে কাজ করে?

জাভাস্ক্রিপ্টে অ্যাসিনক্রোনাস অপারেশন পরিচালনার জন্য async এবং await কীওয়ার্ডগুলি ব্যবহার করা হয়, যা কোডকে আরও পাঠযোগ্য এবং পরিষ্কার করে তোলে।

async ফাংশন

async কীওয়ার্ডটি একটি ফাংশনের আগে ব্যবহার করা হয়, যা ফাংশনটিকে অ্যাসিনক্রোনাস ফাংশনে রূপান্তরিত করে এবং প্রমিস রিটার্ন করে। উদাহরণস্বরূপ:

async function fetchData() {
    return "Data fetched!";
}
Enter fullscreen mode Exit fullscreen mode

উপরের fetchData ফাংশনটি স্বাভাবিকভাবে Promise রিটার্ন করবে যা "Data fetched!" রেজলভ করবে।

await এক্সপ্রেশন

await কীওয়ার্ডটি শুধুমাত্র async ফাংশনের ভিতরে ব্যবহার করা যায় এবং এটি একটি প্রমিসের রেজলভ বা রিজেক্ট হওয়া পর্যন্ত অপেক্ষা করে। উদাহরণস্বরূপ:

async function fetchData() {
    let response = await fetch('https://api.example.com/data');
    let data = await response.json();
    console.log(data);
}
Enter fullscreen mode Exit fullscreen mode

উপরের উদাহরণে, প্রথমে fetch ফাংশনটি একটি প্রমিস রিটার্ন করে এবং await এর মাধ্যমে সেই প্রমিস রেজলভ হওয়া পর্যন্ত অপেক্ষা করে। এরপর, response.json() এর মাধ্যমে JSON ডেটা পাওয়ার জন্য আবার await ব্যবহার করা হয়।

সম্পূর্ণ উদাহরণ

async function getUserData(userId) {
    try {
        let response = await fetch(`https://api.example.com/users/${userId}`);
        if (!response.ok) {
            throw new Error('Network response was not ok');
        }
        let userData = await response.json();
        console.log(userData);
    } catch (error) {
        console.error('There has been a problem with your fetch operation:', error);
    }
}

getUserData(1);
Enter fullscreen mode Exit fullscreen mode

এখানে, getUserData ফাংশনটি একটি ইউজারের ডেটা ফেচ করে এবং যদি কোনো সমস্যা থাকে, তাহলে catch ব্লকের মাধ্যমে সেটি হ্যান্ডেল করে। asyncawait ব্যবহারের ফলে কোডটি আরও সহজে পড়া এবং বোঝা যায়, যা অ্যাসিনক্রোনাস অপারেশন পরিচালনা করার জন্য অত্যন্ত উপকারী।

Top comments (0)