2013-06-28 29 views
0

我试图在Web Worker()线程而不是UI线程中完成publish(),handshake(),subscribe()工作。但到目前为止没有成功,因为当我尝试通过importScripts('cometd.js')导入时“cometd.js无法加载,因为cometd.js使用Web Worker()中不可用的”window“。有没有人对此做过任何事情?有没有人让web工作的cometd javascripts工作?

回答

1

在大多数应用程序中,CometD回调需要修改DOM,所以它们在UI线程中运行非常方便。此外,CometD内部工作是完全异步的,所以它永远不会阻塞UI线程。

因此,在CometD中使用WebWorkers是不需要的:它将使CometD实现复杂化,而且我很可能也是应用程序。

要回答你的问题,在WebWorkers中运行CometD代码的选项已经考虑过,但最终没有实现,因为它被认为是上述原因不必要的。

+0

另一方面,有机会在共享工作人员中进行长时间轮询会给我们很好的机会,在标签之间共享此连接。 – shabunc

+0

不幸的是浏览器的兼容性不是很好:http://caniuse.com/#search=sharedworker – sbordet