Cra*_*ney 2 javascript exception web-worker
我正在尝试测试一些使用网络工作者的代码。我想检查错误路径是否有效;即,onError处理程序正确地从 Web Worker 中抛出的异常中恢复。
我遇到的问题是,从网络工作线程中传播出来的异常导致它被视为未处理。例如,它在浏览器的控制台日志中打印,并导致我的测试环境(Karma 的简单包装器)将测试视为失败。
那么,我如何向浏览器/Karma 指示给定 Web Worker 会出现异常,并且不应将其视为未处理?我不希望它打印到控制台,并且我希望我的测试通过。
我想到的唯一想法是将网络工作人员代码包装在 try/catch 中,并通过 封送捕获的异常postMessage,但这需要丢弃相当多的信息,因为需要对错误对象进行字符串化(否则它会触发数据克隆错误)。
调用preventDefault提供给处理程序的错误事件对象onError。
worker.onError = function(e) {
e.preventDefault(); // <-- "Hey browser, I handled it!"
...
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1359 次 |
| 最近记录: |