1

簡単なワーカー スクリプトがあるとします。

// 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は一見ランダムにトリガーされます。2 つのインスタンスのいずれかの場合もあれば、両方の場合もあります。

どこが間違っていますか?

アップデート

以前にこれを試す必要がありましたが、Firefox と Safari でテストを実行したところ、期待どおりに動作しました。したがって、これは Chrome のバグのようです。

Chrome の最新バージョン (30.0.1599.69) に更新した後も問題は解決せず、プラットフォームに依存しないようです。

Chrome チームにバグを報告します。

アップデート

クロムトラッカーの問題は、https ://code.google.com/p/chromium/issues/detail?id=307865&sort=-modified&colspec=ID%20Pri%20M%20Iteration%20ReleaseBlock%20Cr%20Status にあります。 %20Owner%20Summary%20OS%20Modified

4

0 に答える 0