13

JavaScript で HTML5 WebWorkers を破壊する方法はありますか?

私の状況は次のとおりです。いくつかのレンダリング プロセスを最適化するために、適切な数の WebWorker (16 から 32 の間) を生成する Web アプリケーションがあります。このプロセスは最初の数回は正常に機能しますが、スクリプトが数回実行されると (ページをリロードせずに) ページが停止します。これは、一度に多数 (100 以上) の WebWorker を生成しようとしたときに発生するエラーと同じであるため、同じ障壁に遭遇したと想定しています。

スクリプトが複数回実行されると、最初のラウンドでインスタンス化された WebWorker が存在する必要がなくなります。WebWorker オブジェクトを再利用しません。最初に作成された WebWorker を破棄して、新しい WebWorker を生成しようとしている間にスクリプトの将来の実行が停止しないようにしたいと考えています。

Chrome と Firefox でのみこの問題に気付きました。Safari にはこの制限がないようです。

4

1 に答える 1

20

メインウィンドウからこれを呼び出して、ワーカーをすぐに終了できるはずです。

myWorker.terminate();

ここで完全な API を参照してください: https://developer.mozilla.org/en-US/docs/DOM/Using_web_workers

close()または、ワーカー自体から呼び出すこともできます: https://developer.mozilla.org/en-US/docs/DOM/Using_web_workersを参照してください。

于 2013-02-23T00:44:17.940 に答える