javascript - Web worker错误

标签 javascript web-worker

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/

相关文章:

javascript - 如何验证RadioButton选项?

javascript - D3 Force Layout - 无重叠链接

javascript - WebWorkers 和异步共享数据访问。在 Scala.js 中如何?

JavaScript:这个计时器可靠吗?

javascript - promise 的网络 worker 的速度

在 if 语句中提升 Javascript 函数

php - 如何将输入文本框值的参数传递给 jQuery 中的 ajax

javascript - 导入与其所在目录同名的 JavaScript 文件

javascript - #onmessage 和 #postmessage 如何在主线程和 HTML5 的 webworkers 之间进行通信?

javascript - 有没有一种方法可以在一个文件中拥有不同的工作函数