网络工作者onerror

问题描述 投票:2回答:1

Web工作者是否提供了一些方法来找出哪些数据在失败时发布给他们?

所以如果我有以下代码,那么无论如何都要在onerror处理程序中查找someData的内容,如果它失败或者我只是要跟踪它?

var someData = {...};
myWorker.postMessage(someData);
javascript web-worker
1个回答
4
投票

Web工作者不会提供任何专用方法来查找失败后发布给他们的数据。

但这很容易手动完成,您可以从外部处理onerror,或者从工作者内部(您可以访问消息事件)中对onmessage处理程序进行更深入的检查:

// this one-liner was wrapped in order to improve legibility
var w = new Worker( URL.createObjectURL(
    new Blob([ " self.onmessage = function (evt) {\
        console.log(evt.data);\
        throw new Error('SOMETHING.WENT.WRONG.'); } "
    ])
));
w.onerror = function (err) {
    console.log('worker is suffering!', err)
};
w.postMessage(123);
© www.soinside.com 2019 - 2024. All rights reserved.