Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用同一脚本的多个实例终止正确的web worker_Javascript_Jquery_Web Worker - Fatal编程技术网

Javascript 如何使用同一脚本的多个实例终止正确的web worker

Javascript 如何使用同一脚本的多个实例终止正确的web worker,javascript,jquery,web-worker,Javascript,Jquery,Web Worker,我正在使用web workers在网页中添加自定义数量的倒计时器。每个计时器创建一个计时器web worker的实例。一切正常。。。但我想在计时器等于'00:00'时终止web worker。当计时器过期时,以下代码将始终终止页面中显示的最后一个web worker。如何终止正确的一个 $document.readyfunction{ $'.frequency item'.eachfunctioni,e{ children=$e.children; observationLengthInMinu

我正在使用web workers在网页中添加自定义数量的倒计时器。每个计时器创建一个计时器web worker的实例。一切正常。。。但我想在计时器等于'00:00'时终止web worker。当计时器过期时,以下代码将始终终止页面中显示的最后一个web worker。如何终止正确的一个

$document.readyfunction{ $'.frequency item'.eachfunctioni,e{ children=$e.children; observationLengthInMinutesId=子项[1]。id; timerId=children[3].id; startTimerobservationLengthInMinutesId,timerId; }; }; 函数startTimerobservationLengthInMinutesId,timerId{ w=零; 如果工作人员类型!==未定义{ 如果w==null{ w=新工人/js/simple-timer.js; w、 postMessage$+observationLengthInMinutesId.val; } w、 onmessage=functionevent{ $+timerId.textevent.data; //问题就在这里 如果event.data==“00:00”{ w、 终止; } /* 我按照以下方式进行了修复,但没有终止工人! 我不喜欢它 如果$+timerId.text!=“00:00”{ $+timerId.textevent.data; } */ }; }否则{ //您的浏览器不支持Web Worker $+timerId.text抱歉,您的浏览器不支持Web Workers。。。; } } 试着打电话给这个。改为关闭


有两种方法可以停止工作程序:从主页调用worker.terminate,或在工作程序内部调用self.close。

成功了。你能解释一下为什么在这个问题上close比terminate好吗?因为你是在worker上下文中调用它的。