JavaScript Web Worker close()无效

时间:2016-02-25 03:39:57

标签: javascript web-worker

我的网络工作者反复调用close()但没有停止。这是工作人员的脚本:

self.onmessage = function (e) {
    close();
    for (c in e.data) {
        postMessage(e.data[c]);
        close();
    }
}

for循环执行没有问题。有人可以解释原因吗?

1 个答案:

答案 0 :(得分:0)

它将简单地从该点向前关闭工作者,但是当前的onmessage事件将继续由该函数处理,即for循环将被执行。您需要在worker中使用一些更新布尔值的逻辑,然后在执行for循环之前检查该布尔值。