以下问题非常相似;但是,他们俩都没有适合我的解决方案,我还有其他更多信息要提供,而且我没有足够的代表对他们中的任何一个发表评论:
How to detect errors of invalid URL in Worker API
web worker constructor does not fail even with invalid file path
如果为Worker构造函数提供了无效的URL,我是否可以确定地确定这是引发错误的原因:
var w = new Worker("badurl");
w.onerror = function (event) {
console.error(event);
};
上述代码的问题在于,抛出的event
对象是一个普通的Event
对象,它的type
设置为error
,而不是{{1 }}对象,在遇到运行时异常时抛出。据我所知,基本的ErrorEvent
对象似乎没有包含任何有用的细节。
此问题最初是由我对库hsl.js遇到的问题引起的。 bug in v71 of Chrome导致Event
创建了无效的URL,因此在这种情况下,尝试在创建worker之前验证URL可能不是解决方案。
我想提出一个对该库的改进(因为其错误处理逻辑期望URL.createObjectUrl()
属性始终存在)。
我本来打算在Chrome中报告此错误,但经过进一步测试后,Chrome,Firefox和Edge似乎都按照我上面描述的方式处理了以下jsfiddle:https://jsfiddle.net/q08b62ry/
我在规范(www.w3.org/TR/workers)中没有看到任何有关无效网址错误的内容。
有人有没有其他有用的信息?谢谢。