অধ্যায় ৩৬: JavaScript Promise ও Async/Await (বাংলায়)



এই অধ্যায়ে শিখবো কীভাবে JavaScript এ অ্যাসিঙ্ক্রোনাস (Asynchronous) কাজ করা হয়, এবং কেন Promise ও Async/Await দরকার হয়।


১. অ্যাসিঙ্ক্রোনাস কোড কী?

  • কিছু কাজ একটু সময় নেয়, যেমন: ডেটা লোড করা, সার্ভার থেকে রেসপন্স পাওয়া।

  • এই কাজগুলো করলে পুরো প্রোগ্রাম থেমে যায় না, বরং অন্য কাজও চলতে থাকে।

  • অ্যাসিঙ্ক্রোনাস কোড এমন কোড যা সময় নিয়ে চলে কিন্তু অন্য কাজকে ব্লক করে না।


২. Callback ফাংশনের সমস্যা

setTimeout(() => {
  console.log("৩ সেকেন্ড পরে");
}, 3000);
  • Callback এর মাধ্যমে কাজ হয় কিন্তু অনেক callback থাকলে কোড জটিল ও অসুবিধাজনক হয়, যাকে বলে Callback Hell


৩. Promise কী?

  • Promise হলো একটা অবজেক্ট যা ভবিষ্যতে একটি কাজ সফল হবে (resolved) না হবে ব্যর্থ (rejected) তা জানায়।

  • Promise দিয়ে অ্যাসিঙ্ক্রোনাস কোড লেখা সহজ হয়।


Promise তৈরি ও ব্যবহার

const promise = new Promise((resolve, reject) => {
  let success = true;

  if(success) {
    resolve("কাজ সফল হয়েছে");
  } else {
    reject("কাজ ব্যর্থ হয়েছে");
  }
});

promise.then((message) => {
  console.log(message);  // কাজ সফল হয়েছে
}).catch((error) => {
  console.log(error);
});

৪. Promise chaining (Promise একসাথে ব্যবহার)

new Promise((resolve, reject) => {
  setTimeout(() => resolve(10), 1000);
}).then((result) => {
  console.log(result);  // 10
  return result * 2;
}).then((result2) => {
  console.log(result2);  // 20
});

৫. Async/Await কী?

  • Async/Await হলো Promise এর আরও সহজ, পরিষ্কার ও সমসাময়িক লেখার পদ্ধতি।

  • async ফাংশন সবসময় Promise রিটার্ন করে।

  • await Promise সম্পূর্ণ হওয়া পর্যন্ত অপেক্ষা করে।


Async/Await উদাহরণ

function wait(ms) {
  return new Promise(resolve => setTimeout(resolve, ms));
}

async function asyncFunc() {
  console.log("শুরু");
  await wait(2000);  // ২ সেকেন্ড অপেক্ষা করবে
  console.log("২ সেকেন্ড পরে");
}

asyncFunc();

৬. 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:", error);
  }
}

fetchData();

৭. সারাংশ

বিষয় Promise Async/Await
লেখার ধরন .then(), .catch() async ফাংশন + await
পড়তে সহজ? কম বেশি
Error Handling .catch() try/catch ব্লক

এই অধ্যায়ে আপনি শিখলেন:

  • অ্যাসিঙ্ক্রোনাস কাজের ধারণা

  • Promise কী ও কীভাবে কাজ করে

  • Promise chaining

  • Async/Await এর সুবিধা ও ব্যবহার

  • Error handling Async/Await এ


পরবর্তী অধ্যায়:
অধ্যায় ৩৭: JavaScript Event Loop ও Call Stack

লিখুন: “অধ্যায় ৩৭ শুরু করো” — তাহলে শিখবো JavaScript এর কাজের ভিতরের প্রক্রিয়া।

Post a Comment

Previous Post Next Post