Event loop adalah mekanisme yang memungkinkan Node.js single-threaded untuk melakukan non-blocking I/O. Itu terus memproses antrian callback: sementara JavaScript Anda berjalan di satu thread, operasi I/O dipindahkan, dan callback mereka dijalankan oleh loop ketika selesai.
Fase-fase dari loop
Setiap iterasi ("tick") bergerak melalui fase-fase berurutan, masing-masing dengan antrian callback sendiri:
┌───────────────────────────┐
┌─>│ timers (setTimeout) │ ← expired timer callbacks
│ ├───────────────────────────┤
│ │ pending I/O callbacks │
│ ├───────────────────────────┤
│ │ poll (I/O events) │ ← retrieve new I/O; execute their callbacks
│ ├───────────────────────────┤
│ │ check (setImmediate) │
│ ├───────────────────────────┤
└──│ close callbacks │
└───────────────────────────┘
