Event Loop (Event Loop)
Event Loop: قلب Node.js ❤️
Event Loop یکی از مهمترین مفاهیم Node.js است. این چیزی است که Node.js رو Non-blocking و Asynchronous میکنه!
چطور کار میکنه؟
Event Loop به طور مداوم چک میکنه که آیا کار جدیدی برای انجام دادن هست یا نه:
- کد Synchronous رو اجرا میکنه
- کارهای Asynchronous رو به Callback Queue میفرسته
- وقتی 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 عالیه
آماده رفتن به درس بعدی هستید؟
این درس را به پایان رساندید و میتوانید به درس بعدی بروید.