Web Worker 是否提供了一些方法来找出在失败时向他们发布了哪些数据?
因此,如果我有以下代码,是否可以在 onerror
处理程序失败时找出 someData 的内容,或者我是否只需要跟踪它?
var someData = {...};
myWorker.postMessage(someData);
最佳答案
Web worker 不提供任何专用方法在失败时找出发送给他们的数据。
但这很容易手动完成,您可以从外部处理 onerror
,或者在 worker 内部的 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);
关于javascript - Web worker错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24834323/