JSで長いループを分割する
JavaScriptにおいて,isInputPendingを使ったメインスレッドの時間を守りつつ実行時間の長いループを回す方法 requestIdleCallbackを使って描画処理の空き時間にタスクを動かすというテクニックが有名だが,IdleDeadlineの管理がダルいなどの問題があった
isInputPendingを使うことで,実際にユーザー入力に反応する処理がブロックされてしまっていることに気付くことができる
ブロックされてたらそこでrequestIdleCallbackすればいい。