Event loop वह तंत्र है जो single-threaded Node.js को non-blocking I/O करने की क्षमता देता है। यह निरंतर callbacks की एक queue को process करता है: जबकि आपका JavaScript एक thread पर चलता है, I/O operations को offload किया जाता है, और जब वे complete हो जाते हैं तो loop उनके callbacks को run करता है।
Loop के phases
हर iteration ("tick") क्रमबद्ध phases से गुजरता है, प्रत्येक के अपने callback queue होते हैं:
┌───────────────────────────┐
┌─>│ timers (setTimeout) │ ← expired timer callbacks
│ ├───────────────────────────┤
│ │ pending I/O callbacks │
│ ├───────────────────────────┤
│ │ poll (I/O events) │ ← retrieve new I/O; execute their callbacks
│ ├───────────────────────────┤
│ │ check (setImmediate) │
│ ├───────────────────────────┤
└──│ close callbacks │
└───────────────────────────┘
