Tech TutorBangla Web Documentation
Portfolio
HomeHTMLCSSTailwind CSSJavaScriptTypeScriptReactNext.jsNode.jsExpressSocket.IOExpoWordPressPostgreSQLPrismaPostgresNestJSMongoDBDockerTanStackTanStack TableRTK QueryGitGitHub
  • JavaScript Documentation48টি অধ্যায়
প্রযুক্তি নির্বাচন
HomeHTMLCSSTailwind CSSJavaScriptTypeScriptReactNext.jsNode.jsExpressSocket.IOExpoWordPressPostgreSQLPrismaPostgresNestJSMongoDBDockerTanStackTanStack TableRTK QueryGitGitHub
  • Introduction
  • JavaScript কী?
  • Syntax & Comments
  • Variables
  • Data Types: Basics
  • Data Types: Conversion
  • Data Types: Advanced
  • Strings
  • Numbers & Math
  • Date & Time
  • Operators
  • Conditions
  • Loops
  • Functions: Basics
  • Functions: Intermediate
  • Functions: Advanced
  • Scope & Hoisting
  • Closures & this
  • ES6+ Modern
  • Arrays: Basics
  • Arrays: Intermediate
  • Arrays: Advanced
  • Objects: Basics
  • Objects: Intermediate
  • Objects: Advanced
  • Class: Basics
  • Class: Intermediate
  • Class: Advanced
  • DOM: Basics
  • DOM: Intermediate
  • DOM: Advanced
  • Events: Basics
  • Events: Intermediate
  • Events: Advanced
  • Async JavaScript
  • Promise
  • Async / Await
  • Fetch API
  • JSON
  • Modules
  • Browser Storage
  • Event Loop Deep
  • Prototype Chain
  • Iterators & Generators
  • WeakMap, WeakSet, Proxy
  • Error Handling
  • Practice Problems
  • Mini Projects
  • Basics
  • Functions & Scope
  • Types & Syntax
  • Arrays & Objects
  • Advanced
  • Functional Programming
  • Objects & Symbols
  • Async Deep Dive
  • Modern JavaScript
  1. Docs
  2. JavaScript
  3. প্রশ্ন/উত্তর
  4. Async Deep Dive
  5. Q39. What is the difference between synchronous and asynchronous JavaScript?
JavaScriptAsync Deep Dive

Q39. What is the difference between synchronous and asynchronous JavaScript?

সাথে সাথে চলা বনাম অপেক্ষা করে চলা — event loop ও blocking সমস্যা।

Synchronous কোড লাইন বাই লাইন সাথে সাথে চলে — উপরের লাইন শেষ না হলে নিচের লাইন শুরু হয় না। আর asynchronous কোড পরে অন্য সময়ে চলে, যার মানে কাজ বাকি রেখে সাময়িকভাবে অন্য কাজ করা যায়।

output ক্রমjavascript
javascript
console.log("প্রথম");

// অনেক সময় লাগে কিন্তু browser block করে না
setTimeout(() => {
  console.log("তৃতীয়");
}, 1000);

console.log("দ্বিতীয়");

output হবে প্রথম, দ্বিতীয়, তারপর তৃতীয়। কারণ setTimeout শুধু callback অপেক্ষার তালিকায় রাখে ও ফেরত আসে, তাই সাথে সাথে দ্বিতীয় ছাপা হয়ে যায়। ১ সেকেন্ড পরে আসলেই তৃতীয় ছাপা হয়।

সবচেয়ে বড় সমস্যা দেখা যায় যখন synchronous কাজ খুব ভারী হয়।

blocking সমস্যাjavascript
javascript
// এই কোডটি চলতে চলতে UI ফ্রিজ হয়ে যাবে

for (let i = 0; i < 1000000000; i++) {
  // ভারী হিসাব
}

console.log("এই লাইনটি অনেক পরে আসবে");

// ব্যবহারকারী click বা scroll করতে পারবে না,

fetch, setTimeout, setInterval, event listener, file পড়া — এর সব asynchronous। এগুলো সাধারণত browser-এর কোনো API দিয়ে হয়, যা কাজটি main thread-এর বাইরে সাময়িকভাবে রেখে পরে ফেরত আসে।

দুটো একসাথেjavascript
javascript
// synchronous — ধারাবাহিকভাবে দ্রুত চলে
for (let i = 0; i < 3; i++) {
  console.log(i); // 0, 1, 2
}

// asynchronous — পরে চলে
setTimeout(() => console.log("সেকেন্ড"), 0);
Promise.resolve().then(() => console.log("প্রথম microtask"));

console.log("মূল কোড");

output ক্রম হবে 0, 1, 2, মূল কোড, প্রথম microtask, সেকেন্ড। দেখা যায় main code আগে শেষ হয়, তারপর Promise-এর callback, সবশেষে setTimeout-এর callback চলে — যদিও দুটোতেই 0 দেওয়া হয়েছে।

blocking এড়ানোjavascript
javascript
// ব্লক করা এড়ানোর উপায়
function heavyTask(callback) {
  setTimeout(() => {
    console.log("ভারী কাজ শেষ");
    callback();
  }, 0);
}

heavyTask(() => {
  console.log("পরের কাজ");
});

console.log("এই লাইন আগে ছাপা হবে");
বিষয়SynchronousAsynchronous
সময়সাথে সাথেপরে
পরের কাজআগেরটা শেষ হলেআগেরটা শুরু করেই পরেরটা
উদাহরণconsole.log, for loopsetTimeout, fetch, Promise
ঝুঁকিUI freezeerror handle করা কঠিন
মনে রাখুন

Asynchronous মানে “multithreaded” নয় — JavaScript একটি thread-এই চলে, কিন্তু event loop-এর সাহায্যে কাজ বিরত রাখে ও পরে চালায়, তাই ভারী কাজ চলতে গেলে UI বন্ধ হয় না।

শেষ প্যারায় নিজে practice করুন — কোড কপি করে নিজের এডিটরে চালিয়ে দেখুন।
Async Deep Dive বিভাগের আরও প্রশ্নJavaScript প্রশ্ন/উত্তর
Tech Tutor

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

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

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

mdanamolhasan1998@gmail.com