window.requestIdleCallback
ブラウザのアイドル期間に呼び出したい関数をキューに入れておく
それらのタスクは暇になったときにメインのEvent Loopで呼ばれる
アニメーションや入力応答などの遅延に影響を与えずに優先度の低いタスクを実行できる
https://developer.mozilla.org/en-US/docs/Web/API/Window/requestIdleCallback
callbackの引数にIdleDeadlineを取る
https://developer.mozilla.org/en-US/docs/Web/API/IdleDeadline