event loop وہ میکانزم ہے جو single-threaded Node.js کو non-blocking I/O انجام دینے کی اجازت دیتا ہے۔ یہ مسلسل callbacks کی queue کو process کرتا ہے: جبکہ آپ کا JavaScript ایک thread پر چلتا ہے، I/O operations کو offload کیا جاتا ہے، اور ان کے callbacks کو loop کے ذریعے چلایا جاتا ہے جب وہ مکمل ہوتے ہیں۔
loop کے phases
ہر iteration ("tick") ترتیب شدہ phases سے گزرتا ہے، ہر phase کے اپنے 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 │
└───────────────────────────┘
