摧毁WebWorkers

Nat*_*end 10 javascript safari firefox google-chrome web-worker

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

这是我的情况:我有一个Web应用程序,可以生成相当数量的WebWorkers(16到32之间),以优化一些渲染过程.这个过程在前几次工作正常,但是当脚本运行多次(不重新加载页面)时页面就会死掉.当我尝试同时产生大量(100+)WebWorkers时,我得到的是同样的错误,所以我假设我遇到了同样的障碍.

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

我在Chrome和Firefox中只注意到了这个问题; Safari似乎没有这个限制.

And*_*erg 13

您应该能够从主窗口调用它来立即终止工作者:

myWorker.terminate();
Run Code Online (Sandbox Code Playgroud)

请在此处查看完整的API:https://developer.mozilla.org/en-US/docs/DOM/Using_web_workers

或者,您可以close()从工作人员本身打电话:https://developer.mozilla.org/en-US/docs/DOM/Using_web_workers