دوره‌ها / Node.js / Event Loop (Event Loop)

Event Loop (Event Loop)

15 دقیقه Article

Event Loop: قلب Node.js ❤️

Event Loop یکی از مهم‌ترین مفاهیم Node.js است. این چیزی است که Node.js رو Non-blocking و Asynchronous می‌کنه!

چطور کار می‌کنه؟

Event Loop به طور مداوم چک می‌کنه که آیا کار جدیدی برای انجام دادن هست یا نه:

  1. کد Synchronous رو اجرا می‌کنه
  2. کارهای Asynchronous رو به Callback Queue می‌فرسته
  3. وقتی Call Stack خالی شد، کارها رو از Queue می‌گیره و اجرا می‌کنه

مثال

console.log('1');

setTimeout(() => {
    console.log('2');
}, 0);

console.log('3');

// خروجی:
// 1
// 3
// 2
چرا این اتفاق میفته؟ چون setTimeout یک عملیات Asynchronous است. Event Loop اول کدهای Synchronous رو اجرا می‌کنه (1 و 3)، بعد به Callback می‌پردازه (2).
مزایای Event Loop:
  • ✅ Non-blocking: برنامه منتظر نمی‌مونه
  • ✅ کارآمد: می‌تونه هزاران درخواست رو همزمان مدیریت کنه
  • ✅ سریع: برای I/O operations عالیه

آماده رفتن به درس بعدی هستید؟

این درس را به پایان رساندید و می‌توانید به درس بعدی بروید.

برای ذخیره پیشرفت وارد شوید