2013-06-28 57 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