Javascript 多个工作实例的错误处理程序似乎是随机触发的

Javascript 多个工作实例的错误处理程序似乎是随机触发的,javascript,web-worker,worker,Javascript,Web Worker,Worker,假设我有一个简单的工作脚本: // error_worker.js: onmessage = function(event) { throw new Error('Error for ' + event.data.name); }; 如果我正在为同一脚本创建多个工作实例: var worker1 = new Worker("error_worker.js"), worker2 = new Worker("error_worker.js"); function errorHand

假设我有一个简单的工作脚本:

// error_worker.js:

onmessage = function(event) {
  throw new Error('Error for ' + event.data.name);
};
如果我正在为同一脚本创建多个工作实例:

var worker1 = new Worker("error_worker.js"),
    worker2 = new Worker("error_worker.js");

function errorHandler(error) {
  console.log(error.message);
  error.preventDefault();
};

worker1.onerror = errorHandler;
worker2.onerror = errorHandler;

worker1.postMessage({ name: 'worker1' });
worker2.postMessage({ name: 'worker2' });
函数
errorHandler
似乎是随机触发的。有时针对两种情况中的一种,有时针对两种情况

我哪里做错了

更新

应该已经尝试过了,但只是在Firefox和Safari中运行了测试,它的工作原理与预期一致。所以这似乎是一个Chrome bug

即使在更新到最新版本的Chrome(30.0.1599.69)之后,问题仍然存在,并且似乎与平台无关

我将向Chrome团队提交一个bug

更新


chromium tracker的问题可以在这里找到:

FWIW,我可以验证您的结果(在Linux上使用Chrome)。所以不仅仅是你。:-)我无法在Firefox(Linux上)上验证这些结果,我总是看到两个工作人员的错误(当然顺序不同)。感谢检查-查看我的更新。如果我添加一个循环,向两个工作人员发布多条消息,有时我会看到所有预期错误,有时我会看到所有错误,但只有一个工作人员,有时我会看到一些错误(但不是全部)来自每个工人。分别:更新代码以使用
addEventListener
不会改变任何内容。谢谢!我已经提交了一张罚单。