ブラウザ内部で行われる処理は、基本的にシングルスレッドで行われる。 そのため、処理に時間がかかるタスクがひとつあると、後続のタスクの処理がその分だけ遅れることになる。 この「タスク」には、JavaScript の実行も含まれるし、画面の描画、ユーザーの操作への対応といった UI に関する処理も含まれる。 そのため、JavaScript の処理に時間が掛かってしまい UI の更新が遅れてしまう、ということが起こり得る。 もしその JavaScript の処理の優先度が高くないのなら、まずは UI の更新を行い、ブラウザに余裕が生まれたタイミングで JavaScript を処理することが望ましい。 そういったことを可能にするのが、requestIdleCallbackという API である。 この API を使って優先度の低い処理を後回しにすることで、画面の描画などユーザー体験に直結する処理を
![requestIdleCallback を使って優先度の低い処理を後回しにする - 30歳からのプログラミング](https://cdn-ak-scissors.b.st-hatena.com/image/square/33a8f3450847a09308400a6756dd8559f2fee11c/height=288;version=1;width=512/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fn%2Fnumb_86%2F20201029%2F20201029232607.png)