event loop, single-threaded Node.js'nin non-blocking I/O gerçekleştirmesini sağlayan mekanizmadır. Sürekli olarak callbacks'in kuyruğunu işler: JavaScript'iniz bir thread'de çalışırken, I/O işlemleri devreden çıkarılır ve tamamlandıklarında callbacks loop tarafından çalıştırılır.
Loop'un aşamaları
Her iterasyon ("tick") sıralı aşamalardan geçer, her aşamanın kendine ait bir callback kuyruğu vardır:
┌───────────────────────────┐
┌─>│ timers (setTimeout) │ ← expired timer callbacks
│ ├───────────────────────────┤
│ │ pending I/O callbacks │
│ ├───────────────────────────┤
│ │ poll (I/O events) │ ← retrieve new I/O; execute their callbacks
│ ├───────────────────────────┤
│ │ check (setImmediate) │
│ ├───────────────────────────┤
└──│ close callbacks │
└───────────────────────────┘
