【问题标题】:Web Workers - How to achieve exception Handling for importScripts()Web Workers - 如何实现 importScripts() 的异常处理
【发布时间】:2013-03-03 11:57:19
【问题描述】:
我在我的专用 Worker 中使用 importScripts() 使用 Graph 从 Facebook API 获取数据。有时请求似乎超时,Chrome 开发工具只会显示红色 GET 并打印无法检索的 URL。
我尝试将 importScripts() 包装在 try/catch 块中,但这似乎没有多大帮助。
可以通过适当的异常处理来处理该错误吗?我错过了什么?
谢谢!
【问题讨论】:
标签:
javascript
html
exception-handling
web-worker
【解决方案1】:
我认为如果失败会发生什么取决于浏览器,Mozilla dev documentation 说:
The browser loads each listed script and executes it.
Any global objects from each script may then be used by the worker.
If the script can't be loaded, NETWORK_ERROR is thrown, and subsequent
code will not be executed.
为什么 Chrome 不这样做我认为可能是 Chrome/Chromium bugtacker 的问题。
从他们的邮件列表开始...
【解决方案2】:
我来寻找答案 - 我得到的是:
try {
importScripts('somebadPath.js')
} catch(e) {
// dosomethingwith(e.message || e.code || e.name);
}
今天的 Canary 和本周的 Chrome、Mac(13 年 8 月 27 日)对我来说都很好。也许您需要担心的是旧版本?那样的话,你大概也不需要太担心了吧?