De event loop is het mechanisme dat single-threaded Node.js non-blocking I/O laat uitvoeren. Het verwerkt voortdurend een wachtrij van callbacks: terwijl uw JavaScript op één thread wordt uitgevoerd, worden I/O-bewerkingen uitgesteld, en hun callbacks worden door de lus uitgevoerd wanneer deze voltooid zijn.
De fasen van de loop
Elke iteratie ("tick") gaat door geordende fasen, elk met zijn eigen callback-wachtrij:
┌───────────────────────────┐
┌─>│ timers (setTimeout) │ ← expired timer callbacks
│ ├───────────────────────────┤
│ │ pending I/O callbacks │
│ ├───────────────────────────┤
│ │ poll (I/O events) │ ← retrieve new I/O; execute their callbacks
│ ├───────────────────────────┤
│ │ check (setImmediate) │
│ ├───────────────────────────┤
└──│ close callbacks │
└───────────────────────────┘
