Web Workers提供了一种方法来查找它们所接收的数据,即使它们失败了。
因此,如果我有以下代码,是否有任何方法可以在onerror
处理程序中找到someData的内容,如果它失败了,或者我只需跟踪它?
var someData = {...};
myWorker.postMessage(someData);
Web Workers提供了一种方法来查找它们所接收的数据,即使它们失败了。
因此,如果我有以下代码,是否有任何方法可以在onerror
处理程序中找到someData的内容,如果它失败了,或者我只需跟踪它?
var someData = {...};
myWorker.postMessage(someData);
Web workers没有提供任何专门的方法来查找如果它们失败时所发布的数据。
但是这很容易手动完成,您可以从外部处理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);