gpt4 book ai didi

javascript - 将 'unhandled' 网络 worker 异常标记为已处理

转载 作者:行者123 更新时间:2023-11-30 16:36:07 25 4
gpt4 key购买 nike

我正在尝试测试一些使用网络 worker 的代码。我想检查错误路径是否有效;即,onError 处理程序正确地从 web worker 抛出的异常中恢复。

我遇到的问题是从 Web Worker 传播出去的异常导致它被视为未处理。例如,它在浏览器的控制台日志中打印并导致我的测试环境(一个简单的 Karma 包装器)认为测试失败。

那么,我如何向浏览器/Karma 指示从给定网络 worker 中冒出的异常是预期的,并且不应被视为未处理?我不希望它打印到控制台,我希望我的测试通过。

我想到的唯一想法是将 web worker 代码包装在 try/catch 中,并通过 postMessage 编码捕获的异常,但这需要丢弃大量信息因为需要将错误对象字符串化(否则它是 triggers a data clone error )。

最佳答案

在提供给 onError 处理程序的错误事件对象上调用 preventDefault

worker.onError = function(e) {
e.preventDefault(); // <-- "Hey browser, I handled it!"
...
}

关于javascript - 将 'unhandled' 网络 worker 异常标记为已处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32686231/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com