এই অধ্যায়ে শিখবো অ্যাসিঙ্ক্রোনাস (Asynchronous) প্রোগ্রামিং কী, কেন দরকার এবং JavaScript-এ Promises ও Async/Await কীভাবে কাজ করে।
১. অ্যাসিঙ্ক্রোনাস প্রোগ্রামিং কী?
সাধারণত JavaScript সিঙ্ক্রোনাস ভাষা — কোড এক লাইন শেষে পরের লাইন চলে।
কিন্তু কিছু কাজ, যেমন সার্ভার থেকে ডেটা আনা, সময় নেয় — এই কাজগুলো অ্যাসিঙ্ক্রোনাস হওয়া দরকার যাতে ওয়েবসাইট আটকে না যায়।
২. Callback সমস্যা
আগে অ্যাসিঙ্ক্রোনাস কাজের জন্য callback ব্যবহার করতাম, কিন্তু এতে কোড জটিল ও পড়তে কষ্ট হয়।
৩. Promise কী?
Promise হলো একটি অবজেক্ট যা ভবিষ্যতে কিছু মান দেবে বা ব্যর্থ হবে।
Promise তিনটি স্টেট থাকে:
-
Pending (অপেক্ষাধীন)
-
Fulfilled (সফল)
-
Rejected (ব্যর্থ)
৪. Promise তৈরি ও ব্যবহার
let myPromise = new Promise(function(resolve, reject) {
let success = true;
if(success) {
resolve("কাজ সফল হয়েছে!");
} else {
reject("কাজ ব্যর্থ হয়েছে!");
}
});
myPromise.then(function(value) {
console.log(value); // সফল হলে
}).catch(function(error) {
console.log(error); // ব্যর্থ হলে
});
৫. Async/Await কী?
-
Async/Await হলো Promise-এর উপরে আধুনিক সিনট্যাক্স, যা কোডকে সহজ ও পড়তে সুবিধাজনক করে তোলে।
-
asyncফাংশন কখনো Promise রিটার্ন করে। -
awaitদিয়ে Promise শেষ হওয়ার জন্য অপেক্ষা করা হয়।
৬. Async/Await উদাহরণ
function wait(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}
async function asyncFunction() {
console.log("শুরু");
await wait(2000); // ২ সেকেন্ড অপেক্ষা করবে
console.log("২ সেকেন্ড পরে");
}
asyncFunction();
৭. Async/Await সাথে Error Handling
async function fetchData() {
try {
let response = await fetch('https://api.example.com/data');
let data = await response.json();
console.log(data);
} catch(error) {
console.error('ত্রুটি:', error);
}
}
fetchData();
এই অধ্যায়ের শেষে আপনি শিখলেন:
-
অ্যাসিঙ্ক্রোনাস প্রোগ্রামিং কেন দরকার
-
Promise কী ও কিভাবে তৈরি ও ব্যবহার করতে হয়
-
Async/Await কী এবং কিভাবে Promise-এর কোড সহজ করতে পারে
-
Async/Await এর সাথে error handling
পরবর্তী অধ্যায়:
অধ্যায় ২৪: JavaScript Local Storage ও Session Storage
লিখুন: “অধ্যায় ২৪ শুরু করো” — তাহলে শিখবো ব্রাউজারের লোকাল ও সেশন স্টোরেজ কীভাবে ব্যবহার করতে হয়।
