如果我运行以下命令(至少在 Chromium 上):
var w = null;
try {
w = new Worker( 'NONEXISTENT_URL' );
}
catch ( e ) {
console.log( 'CAUGHT: ' + e );
}
console.log( w );
...没有异常被捕获,即使 Worker
的参数构造函数未指向有效的文件名。此外,控制台显示 Worker {}
,表明 w
现在拥有 Worker
的(非功能性)实例。
其他错误情况也是可能的。例如,构造函数的参数可能可用且可读,但不包含有效的 JavaScript。
我还能如何检测此类错误情况?
(顺便说一句:请假设浏览器支持 Worker
API。)
最佳答案
使用 onerror
可能会出错事件处理程序。
var worker = new Worker('aURL');
worker.onerror = function () {
console.log( 'error' );
};
If the URL has an invalid syntax or if the same-origin policy is violated a DOMException of type SECURITY_ERR is thrown.
关于javascript - 如何检测 Worker API 中的无效 URL 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32102658/