我通过我的网页上的onclick
事件调用javascript函数,该事件将在我的webworker中同步开始运行。所以我想知道在通过onclick
事件获得所需结果之后是否有任何方法可以阻止js函数,即从我的网页手动获取。
// ---纯Javascript解决方案请.--- //
答案 0 :(得分:1)
所以我想知道在获得所需结果后是否有任何方法可以阻止js函数...
如果您有所需的结果,则网络工作者不应该仍在运行。它应该在将结果发送到主页面后终止(或休眠)。它可能仍然注册了message
处理程序(因此您可以告诉它再做一些事情),但它不应该正在运行。
如何从外部阻止webworker中的Javascript?
如果Web工作者持续运行代码,例如一个永远不会返回浏览器的紧密循环,您可以通过Worker
实例上的terminate
method终止它:
你启动工人的地方:
var worker = new Worker("yourscript.js");
稍后,当你想要杀死它时:
worker.terminate();
如果工作人员定期(通过setTimeout
)返回浏览器,或者只是因为它正在等待message
下一个要处理的事情,那么你可以发布一个特定于应用程序的消息,告诉它清理和终止。