Web worker onerror

Web worker onerror

本文关键字:onerror worker Web      更新时间:2023-09-26

网络工作者是否提供了一些方法来发现如果他们失败了,他们发布了什么数据?

所以,如果我有下面的代码是有无论如何找出someData在onerror处理程序的内容,如果它失败了,或者我只需要跟踪它?

var someData = {...};
myWorker.postMessage(someData);

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);