如何在JavaScript中创建后台线程

时间:2014-01-16 12:17:39

标签: javascript multithreading web-worker

此问题已被提问并已回复herehere。但是,两个线程都已有18个月以上的历史,并且在javascript世界中,事情正在迅速发展。所以我再次要求获得最新答案。

对于我们的使用,我们需要一个将定期运行的后台线程。这是一个丰富的编辑器,每当用户编辑时,这个后台线程需要重新计算富文本的布局。

看起来像Web Workers是最好的方法。但是,根据wikipedia “它会在较新的Android浏览器版本中删除”

问题:

  1. Web Workers是最好的方法还是有更好的方法。
  2. 是否有不支持Web Workers的浏览器?如果是这样,哪些?
  3. 是否有Web Workers需要哪些主浏览器版本的列表?

1 个答案:

答案 0 :(得分:1)

我会推荐WebWorkers作为您的第一选择。

是的,它们已经从2.2中的Android中删除了,但也在4.4中重新添加,现在所有主要平台的最新版本都支持它们。请参阅http://caniuse.com/webworkers以了解WebWorkers的可用版本。

对于不支持WebWorkers的浏览器,我建议使用postMessage()setTimeout()进行后备,详见Javascript - how to avoid blocking the browser while doing heavy work?