首页 文章

Web Workers的用例是什么? [关闭]

提问于
浏览
154

我正在寻找使用Web Workers API的真实世界 .

3 回答

  • 5
    • John Resig(jQuery成名)有a bunch of interesting examples of using web workers here - 游戏,图形,加密 .

    • 另一种用途是Web I / O - 换句话说,在后台轮询URL . 这样您就不会阻止等待轮询结果的UI .

    • 另一个实际用途:在Bespin中,他们使用Web Workers来进行语法突出显示,在使用应用程序时,您不希望阻止代码编辑 .

    • 来自Mozilla:工作人员有用的一种方法是允许代码执行处理器密集型计算而不会阻塞用户界面线程 .

    作为一个实际的例子,想想一个拥有#s大表的应用程序(这是真实的世界,BTW - 取自我2年前编写的应用程序) . 您可以通过输入字段更改表中的一个#,并在相当密集的过程中重新计算不同列中的一堆其他数字 .

    旧的工作流程是:改变# . 当JavaScript通过对其他数字的更改进行处理时,获取咖啡并且网页在3分钟内没有响应 - 在我将其优化为地狱之后 . 回来喝咖啡 . 改变第二个# . 重复多次 . 单击“保存”按钮 .

    与工作人员的新工作流程可以是:更改# . 获取正在重新计算某些内容的状态消息,但您可以更改其他#s . 改变更多#s . 完成更改后,等到状态更改为“所有计算完成后,您现在可以查看最终#s并保存” .

  • 31

    我用它们从浏览器向服务器发送大量数据 . 显然,您可以使用常规的AJAX调用来执行此操作,但如果这会占用每个主机名的一个宝贵连接 . 此外,如果用户在此过程中执行页面转换(例如单击链接),则上一页中的JavaScript对象将消失,您无法处理回调 . 使用Web工作程序时,此活动是在带外进行的,因此您可以更好地保证它将完成 .

  • 124

    另一个用例:

    如果您有大量图像和其他媒体文件以压缩格式从服务器交换,则在后台压缩/解压缩文件 .

相关问题