Event loop არის მექანიზმი, რომელიც საშუალებას აძლევს ერთ-ნიточი Node.js-ს შეასრულოს non-blocking I/O. ის მუდმივად ამუშავებს callback-ების რიგს: სანამ თქვენი JavaScript ერთ ნიმუშზე მუშაობს, I/O ოპერაციები გადაიტანება, და მათი callback-ები ხორციელდება loop-ით როდესაც ისინი დასრულდება.
loop-ის ფაზები
ყოველი iteration ("tick") გადის დალაგებული ფაზების სხვადსხვა საფეხურზე, თითოეულ თავის callback რიგი აქვს:
┌───────────────────────────┐
┌─>│ timers (setTimeout) │ ← expired timer callbacks
│ ├───────────────────────────┤
│ │ pending I/O callbacks │
│ ├───────────────────────────┤
│ │ poll (I/O events) │ ← retrieve new I/O; execute their callbacks
│ ├───────────────────────────┤
│ │ check (setImmediate) │
│ ├───────────────────────────┤
└──│ close callbacks │
└───────────────────────────┘
