非常に長く、多くのタスクを実行するJavaScript関数があります。進行状況を、メッセージでSPAN要素の内容を更新してユーザーに報告したいと思います。関数コード全体にdocument.getElementById('spnProgress')。innerText=...ステートメントを追加してみました。
ただし、関数の実行中はUIが更新されないため、SPANに書き込まれた最後のメッセージのみが表示されます。これはあまり役に立ちません。
私の現在の解決策は、タスクをいくつかの関数に分割することです。各関数の最後にSPANメッセージを設定し、非常に短い遅延(たとえば、10ミリ秒)でwindow.setTimeout呼び出しを使用して次のメッセージを「トリガー」します。これにより制御が可能になり、ブラウザは次のステップを開始する前に、更新されたメッセージでSPANを再描画できます。
しかし、これは非常に厄介でコードに従うのが難しいと思います。もっと良い方法があるはずだと思います。誰か提案はありますか?関数のコンテキストを離れることなく、SPANを強制的に再描画する方法はありますか?
ありがとう