JavaScriptを使用して一連の作業をディスパッチして、ブラウザが応答しやすくなるようにブラウザで実行できるようにしたいと考えています。JavaScript setTimeoutが実行されたかどうかを確認する
私が取ろうとしているアプローチは、各チャンクをsetTimeout(func, 0)
コールでキューに入れられた関数に渡すことです。
すべての作業が完了した時点を知る必要があるため、返されたタイマーIDをマップに格納します(id - > true | false)。このマッピングは、タイマーIDを取得した後、次のコードブロックでfalseに設定され、キューに登録された関数は完了時にマッピングをtrueに設定します。ただし、キューに登録された関数はそのタイマーIDを認識しません。
もっと良い/簡単な方法があるかもしれません。また、必要に応じて地図をどのように操作できるかについてのアドバイスもありますか?
私は、このアプローチが、すべてのアイテムのタイムアウトを正面に設定し、完了をチェックするのではなく、現在のものが完了したときに次の作業項目にタイムアウトを再帰的に設定するという主な違いがあると思います。私はそれを試すことができます...歓声 – Brabster
、おかげでたくさんのお菓子を動作します。 – Brabster