অধ্যায় ২৩: JavaScript প্রমিস (Promises) ও অ্যাসিঙ্ক/অ্যাওয়েট (Async/Await) (বাংলায়)



এই অধ্যায়ে শিখবো অ্যাসিঙ্ক্রোনাস (Asynchronous) প্রোগ্রামিং কী, কেন দরকার এবং JavaScript-এ PromisesAsync/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

লিখুন: “অধ্যায় ২৪ শুরু করো” — তাহলে শিখবো ব্রাউজারের লোকাল ও সেশন স্টোরেজ কীভাবে ব্যবহার করতে হয়।

Post a Comment

Previous Post Next Post