event loop er mekanismen som gjør at single-threaded Node.js kan utføre non-blocking I/O. Det behandler kontinuerlig en kø med callbacks: mens JavaScripten din kjører på én tråd, blir I/O-operasjoner offloadet, og deres callbacks kjøres av løkken når de er ferdige.
Fasene i løkken
Hver iterasjon ("tick") går gjennom ordnede faser, hver med sin egen callback-kø:
┌───────────────────────────┐
┌─>│ timers (setTimeout) │ ← expired timer callbacks
│ ├───────────────────────────┤
│ │ pending I/O callbacks │
│ ├───────────────────────────┤
│ │ poll (I/O events) │ ← retrieve new I/O; execute their callbacks
│ ├───────────────────────────┤
│ │ check (setImmediate) │
│ ├───────────────────────────┤
└──│ close callbacks │
└───────────────────────────┘
