我最近听说过定义多线程JavaScript API的Web Workers规范。但是在使用客户端脚本很长时间之后(以及事件驱动的范例),我并没有真正看到使用多线程的观点。
我可以看到JavaScript引擎和浏览器呈现引擎如何从多线程中受益,但我真的没有看到将这种功能交给应用程序员的好处。
答案 0 :(得分:4)
维基百科的文章实际上很好地回答了你的问题。
为我们的开发人员提供了强大的功能,这样我们就可以专门将对用户造成破坏的任务卸载给Web工作人员。浏览器不知道自定义界面正常运行所需的脚本,但确实如此。
如果您有一个脚本阻止页面呈现10秒但网站无需运行,您可以将其卸载到Web工作者。这样做允许用户与页面交互,而不是强迫他们等待10秒钟以执行该脚本。在某种程度上,它就像AJAX一样,可以在界面加载后注入,以免延迟用户的交互。