Az event loop az a mechanizmus, amely lehetővé teszi, hogy az egyszálú Node.js végezzen non-blocking I/O-t. Folyamatosan feldolgoz egy callback-sor: miközben a JavaScript egy szálon fut, az I/O operációk kiszervezésre kerülnek, és azok callback-jeit a loop hajtja végre, amikor befejeződnek.
A petze fázisai
Minden iteráció ("tick") rendezett fázisokon megy keresztül, mindegyiknek van saját callback-sora:
┌───────────────────────────┐
┌─>│ timers (setTimeout) │ ← expired timer callbacks
│ ├───────────────────────────┤
│ │ pending I/O callbacks │
│ ├───────────────────────────┤
│ │ poll (I/O events) │ ← retrieve new I/O; execute their callbacks
│ ├───────────────────────────┤
│ │ check (setImmediate) │
│ ├───────────────────────────┤
└──│ close callbacks │
└───────────────────────────┘
