0

ユーザー インターフェイスとビューに関連するコードが他のコードよりも優先される環境をクライアント側の JavaScript で作成するにはどうすればよいですか?

私はあなたが物事を次のティックにプッシュできることを知っていますsetTimeout([function],0);

これを広く行うためのシステムを構築するにはどうすればよいでしょうか?

4

1 に答える 1

2

Javascript はシングル スレッド (最新のブラウザーの webworker を除く) であるため、次の 2 つのオプションしかありません。

  1. UI に関連しない作業を 1 つ以上の webworker に配置して、バックグラウンドで実行できるようにします。
  2. UI に関連しないすべての作業を小さなチャンクで行い、作業の各チャンクは enxt で行われますsetTimeout()。これにより、非 UI 作業の各ティック間で保留中の UI 対話を実行できます。これをコード化するのは大変な作業ですが、本当に努力する価値があるのであれば、機能させることができます。

これが例です。私が持っていた他の長期実行コードから適応させました:http://jsfiddle.net/jfriend00/JJUgv/

于 2012-06-22T17:25:31.063 に答える