イベントループ は、シングルスレッドの Node.js が ノンブロッキング I/O を実行できるようにする仕組みです。コールバックのキューを継続的に処理します。あなたの JavaScript が 1 つのスレッドで動いている間、I/O 操作は別の場所へ委譲され、完了したときにそのコールバックがループによって実行されます。
ループのフェーズ
各イテレーション(「tick」)は、順序付けられたフェーズを順に進み、それぞれが独自のコールバックキューを持ちます。
text
┌───────────────────────────┐
┌─>│ timers (setTimeout) │ ← expired timer callbacks
│ ├───────────────────────────┤
│ │ pending I/O callbacks │
│ ├───────────────────────────┤
│ │ poll (I/O events) │ ← retrieve new I/O; execute their callbacks
│ ├───────────────────────────┤
│ │ check (setImmediate) │
│ ├───────────────────────────┤
└──│ close callbacks │
└───────────────────────────┘
