ブラウザで実行している場合には、ページ上の他のボタンをクリックしようとしてみてください。カウントが終了するまで、他のイベントが処理されないことが確認できます。いう警告を表示するかもしれません。処理の間もブラウザの操作は完全に機能します。再スケジュールが行われます。イベント)が発生した場合、キューに入れられた後、パート1が終わったとき(次のパートが始まる前)に実行されます。ジョブを分割する場合とそうでない場合)の速度が同等であることです。全体をカウントする時間に大きな差はありません。差を近づけるために改善しましょう。必要であることが分かると、ジョブを実行する前にすぐにスケジューリングします。実行すると、時間が大幅に短縮されることが分かります。最小でも4msという遅延があります。(またはそれ以上)になります。したがって、早くスケジュールするほど実行は早くなります。これでCPUを大量に消費するタスクを分割できました。これでユーザインタフェースはブロックされません。全体の実行時間もそれほど長くありません。進行状況の表示ブラウザスクリプトの重いタスクを分割するもう一つのメリットは進行状況を表示することができることです。通常、ブラウザは現在のコードが完了した後にレンダリングします。タスクに時間がかかったかどうかは関係ありません。変更はタスクが終了した後にだけ行われます。これは素晴らしいことでもあります。未完了状態を見ることはありません。これは重要なことです。変更は関数が終了するまで見えません。count();</script>...ですが、タスクの最中にプログレスバーなど何か表示したい場合もあります。値の増加が表示されます。イベントの後になにかをするイベントハンドラの中では、イベントがバブルアップしてすべての階層で処理されるまでいくつかの処理を延期させることができます。ラップすることで実現できます。イベントが完全に処理された後に発生します。