Tech TutorBangla Web Documentation
Portfolio
HomeHTMLCSSTailwind CSSJavaScriptTypeScriptReactNext.jsNode.jsExpressSocket.IOExpoWordPressPostgreSQLPrismaPostgresNestJSMongoDBDockerTanStackTanStack TableRTK QueryGitGitHub
  • Node.js Documentation20টি অধ্যায়
প্রযুক্তি নির্বাচন
HomeHTMLCSSTailwind CSSJavaScriptTypeScriptReactNext.jsNode.jsExpressSocket.IOExpoWordPressPostgreSQLPrismaPostgresNestJSMongoDBDockerTanStackTanStack TableRTK QueryGitGitHub
  • Introduction
  • Installation
  • Modules
  • NPM
  • File System
  • Events
  • Streams
  • HTTP
  • Async Programming
  • Environment
  • Debugging
  • Express.js
  • API Development
  • Authentication
  • Database
  • Production
  • Advanced Node.js
  • Best Practices
  • Projects
  • Interview
  1. Docs
  2. Node.js
  3. Async Programming — Callback, Promise, async/await
Node.jsIntermediate

Async Programming — Callback, Promise, async/await

Callback, Promise, async/await, error handling — Node.js-এ asynchronous programming বাংলায়।

15টি অংশবাংলা ভাষায়

Node.js non-blocking — অর্থাৎ file read, database query, API call এসব async কাজ। এগুলো handle করতে callbacks, Promises, ও async/await ব্যবহার হয়।

Callback

Callback হলো একটি function যা অন্য একটি function-কে argument হিসেবে দেওয়া হয় এবং কাজ শেষে call করা হয়।

const fs = require("node:fs");

// Callback style
fs.readFile("data.txt", "utf8", (err, data) => {
  if (err) {
    console.error("ত্রুটি:", err);
    return;
  }
  console.log(data);
});

Callback Hell

// ❌ Callback Hell — পড়া কঠিন
getUser(id, (user) => {
  getOrders(user.id, (orders) => {
    getOrderDetails(orders[0].id, (details) => {
      getShipping(details.id, (shipping) => {
        console.log(shipping);
      });
    });
  });
});

Promise

Promise হলো async কাজের ভবিষ্যৎ ফলাফল-এর প্রতিনিধিত্ব। এটি তিনটি state-এ থাকতে পারে: pending, fulfilled, rejected।

const getUser = (id) => {
  return new Promise((resolve, reject) => {
    setTimeout(() => {
      if (id > 0) {
        resolve({ id, name: "রহিম" });
      } else {
        reject(new Error("Invalid ID"));
      }
    }, 1000);
  });
};

getUser(1)
  .then((user) => console.log("ব্যবহারকারী:", user.name))
  .catch((err) => console.error(err.message))
  .finally(() => console.log("সম্পন্ন"));

async/await

async/await হলো Promise-এর সবচেয়ে পরিষ্কার syntax। async function সবসময় Promise return করে, আর await দিয়ে Promise resolve হওয়া পর্যন্ত অপেক্ষা করা যায়।

async function getUserData(id) {
  try {
    const user = await getUser(id);
    const orders = await getOrders(user.id);
    const details = await getOrderDetails(orders[0].id);
    return details;
  } catch (error) {
    console.error("ত্রুটি:", error.message);
    throw error;
  }
}

// ব্যবহার
const data = await getUserData(1);
console.log(data);

Promise.all, Promise.race

// সব Promise একসাথে run
const [users, posts] = await Promise.all([
  fetchUsers(),
  fetchPosts(),
]);

// যেটি আগে শেষ হয়
const fastest = await Promise.race([
  fetchFromCDN1(),
  fetchFromCDN2(),
]);

// সব resolved/rejected হলে
const results = await Promise.allSettled([
  fetchUsers(),
  fetchPosts(),
]);
সেরা অভ্যাস

সবসময় try/catch দিয়ে async error handle করুন। Promise.all ব্যবহার করার সময় একটি reject হলে সব fail হবে — Promise.allSettled বিকল্প হিসেবে ব্যবহার করুন।

শেষ প্যারায় নিজে practice করুন — কোড কপি করে নিজের এডিটরে চালিয়ে দেখুন।
আগেরNode.js HTTP ModuleপরেরEnvironment Variables ও Configuration
এই পেজে
Tech Tutor

বাংলায় ওয়েব ডেভেলপমেন্ট ডকুমেন্টেশন শিখুন — ধাপে ধাপে।

Homeসব ডকুমেন্টেশনQuick Startআমার নোটস

© 2026 Tech Tutor. বাংলায় শিখুন, বাংলায় গড়ুন।

mdanamolhasan1998@gmail.com