ブラウザがレンダリングするとき、メインラインはメインスレッドのマイクロキュー、遅延キュー、インタラクティブキューをレンダリングします。
マイクロキューの優先順位は最高でなければなりません。
シングルスレッドは非同期生成の理由であり、タイムループは非同期実装の方法です
非同期メソッドを使用すると、レンダリングのメインスレッドがブロックされることはありません。
タイマーは正確なタイミングを達成できるのですが、なぜですか?
回答: いいえ
- コンピューターのハードウェアには原子時計が搭載されていないため、正確な時間を計測することはできません。
- OS 自体のタイミング関数には多少の誤差があり、JS タイマーは最終的に OS などの関数を呼び出すため、この誤差も伴います。
- W3C 標準によると、ブラウザがタイマーを実装する場合、ネスト レベルが 5 階層を超える場合、最小時間差は 4mm になります。
- イベント ループの影響を受け、タイマーのコールバック関数はメインスレッドがアイドル状態のときにのみ実行できるため、偏りが生じます。