Javascript 终止web工作程序
我有一个网络工作者,他在div中添加了一些段落,就像这样Javascript 终止web工作程序,javascript,web-worker,Javascript,Web Worker,我有一个网络工作者,他在div中添加了一些段落,就像这样 var worker1 = new Worker('many.js'); var worker2 = new Worker('many.js'); var worker3 = new Worker('many.js'); var worker4 = new Worker('many.js'); worker1.onmessage = function (event) { function xx(){$(event
var worker1 = new Worker('many.js');
var worker2 = new Worker('many.js');
var worker3 = new Worker('many.js');
var worker4 = new Worker('many.js');
worker1.onmessage = function (event) {
function xx(){$(event.data).appendTo('#div_1');}
setInterval(xx,4000);
};
worker2.onmessage = function (event) {
function xx(){$(event.data).appendTo('#div_2');}
setInterval(xx,4400);
};
function killworker(){
worker1.terminate();
}
worker1.terminate();
这是many.js文件
function j()
{return "<p>lorem ispum</p>"}
postMessage(j());
但我希望将其包装在一个函数中,并尝试在按钮发生单击事件后终止它
<button onClick="javascript:killworker();">stop worker</button>
停止工作
我的代码似乎没有终止worker。为什么它不工作?您的
killworker
函数是在更广泛的上下文中定义的吗?如果是,那就是你的问题。尝试window.killworker=function()
我的代码现在看起来像
var worker1 = new Worker('many.js');
var worker2 = new Worker('many.js');
var worker3 = new Worker('many.js');
var worker4 = new Worker('many.js');
var timer = 0;
worker1.onmessage = function (event) {
function xx(){$(event.data).appendTo('#div_1');}
timer = setInterval(xx,2000);
};
function killworker(){
clearInterval(timer);
worker1.terminate();
}
worker2.onmessage = function (event) {
function xx(){$(event.data).appendTo('#div_2');}
setInterval(xx,2200);
};
我的按钮stop worker
您不需要内联事件处理程序中的javascript:
。虽然你需要它作为
的href
,但这与你和你的代码无关,我已经纠正了这一点,谢谢。