জাভাস্ক্রিপ্টে অ্যাসিনক্রোনাস অপারেশন পরিচালনার জন্য async
এবং await
কীওয়ার্ডগুলি ব্যবহার করা হয়, যা কোডকে আরও পাঠযোগ্য এবং পরিষ্কার করে তোলে।
async
ফাংশন
async
কীওয়ার্ডটি একটি ফাংশনের আগে ব্যবহার করা হয়, যা ফাংশনটিকে অ্যাসিনক্রোনাস ফাংশনে রূপান্তরিত করে এবং প্রমিস রিটার্ন করে। উদাহরণস্বরূপ:
async function fetchData() {
return "Data fetched!";
}
উপরের 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);
}
উপরের উদাহরণে, প্রথমে 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);
এখানে, getUserData
ফাংশনটি একটি ইউজারের ডেটা ফেচ করে এবং যদি কোনো সমস্যা থাকে, তাহলে catch
ব্লকের মাধ্যমে সেটি হ্যান্ডেল করে। async
ও await
ব্যবহারের ফলে কোডটি আরও সহজে পড়া এবং বোঝা যায়, যা অ্যাসিনক্রোনাস অপারেশন পরিচালনা করার জন্য অত্যন্ত উপকারী।
Top comments (0)