イベントループ — 1 本の線で待ち時間を捌く
JavaScript が 1 本のスレッドで通信もタイマーも捌ける仕組みを、タスクとマイクロタスクの実行順から解説します。await の続きがいつ動くか、setTimeout(fn, 0) が「すぐ」ではない理由、長いタスクが描画と操作を止める仕組み、重い処理を逃がす 3 つの方向を扱います。
JavaScript が 1 本のスレッドで通信もタイマーも捌ける仕組みを、タスクとマイクロタスクの実行順から解説します。await の続きがいつ動くか、setTimeout(fn, 0) が「すぐ」ではない理由、長いタスクが描画と操作を止める仕組み、重い処理を逃がす 3 つの方向を扱います。
コールバックから Promise・async/await への流れを図解付きで解説。Promise.all / allSettled / any の使い分け、マイクロタスクによる実行順序まで初級者向けに整理します。