情報をポーリングするために使用している Web ワーカーがあります。
Web ワーカーを開始および停止するためのコードは次のとおりです。
var eftWorker = undefined;
that.StartWorker = function () {
if (eftWorker === undefined) {
eftWorker = new Worker('../scripts/ETEL.EftWorker.js');
eftWorker.addEventListener('message', function(e) {
EftWorkerResponseHandler(e.data);
}, false);
eftWorker.addEventListener('error', function(e) {
EftWorkerErrorResponseHandler(e);
}, false);
}
eftWorker.postMessage({ cmd: eftCmdStart });
};
that.StopWorker = function () {
if (eftWorker !== undefined) {
eftWorker.postMessage({ cmd: eftCmdStop });
eftWorker.terminate();
}
eftWorker = undefined;
};
ワーカーで terminate を呼び出すと、ワーカーがポーリングしているため、未処理のポストメッセージ イベントのバックログがあるようです。
含まれているビューの初期化時と Web ワーカーの終了時に、Web ワーカーを「未定義」に設定しています。後者のため、これらの未処理のイベントは ABORT_ERROR として表示されると思います。Web ワーカーの存在をテストして未処理のイベントを処理し、エラーを回避できるようにするために使用できる中間状態はありますか?
または、終了が呼び出された後にエラーの蓄積を避けるために使用できる別のアプローチはありますか?