13

有没有办法在 JavaScript 中销毁 HTML5 WebWorkers?

这是我的情况:我有一个 Web 应用程序,它生成相当数量的 WebWorker(介于 16 到 32 之间)来优化一些渲染过程。此过程在最初几次运行良好,但当脚本运行多次时页面消失(不重新加载页面)。当我尝试一次生成很多(100 多个)WebWorkers 时,我遇到的错误是一样的,所以我假设我遇到了同样的障碍。

当脚本多次运行时,第一轮实例化的 WebWorkers 不再需要存在;我不重用任何 WebWorker 对象。我想销毁第一次创建的 WebWorkers,以便脚本的未来执行在尝试生成新的 WebWorkers 时不会停止。

我只在 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 回答