publish(), handshake(), subscribe() 작업을 UI 스레드 대신 Web Worker() 스레드에서 처리하려고합니다. 그러나 cometd.js가 Web Worker()에서 사용할 수없는 "window"를 사용하기 때문에 "importScripts ('cometd.js')"로 가져 오기를 시도 할 때 cometd.js를로드 할 수 없으므로 성공하지 못했습니다. 아무에게도이 일을시키지 않았습니까?웹 작업자에서 cometd javascript를 만든 사람이 있습니까?
0
A
답변
1
CometD 콜백은 대부분의 응용 프로그램에서 DOM을 수정해야하므로 UI 스레드에서 실행하는 것이 매우 편리합니다.
또한 CometD 내부 작업은 완전히 비동기식이므로 UI 스레드를 차단하지 않습니다.
따라서 CometD에서 WebWorkers를 사용할 필요가 없습니다. CometD 구현이 복잡해지며 응용 프로그램이 될 가능성이 큽니다.
질문에 답하기 위해 WebWorkers에서 CometD 코드를 실행하는 옵션이 고려되었지만 위의 이유로 불필요하다고 판단되어 결국 구현되지 않았습니다.
다른 한편으로 공유 작업자에서 긴 폴링을 실행할 수있는 기회가 있으면 탭간에이 연결을 공유 할 수 있습니다. – shabunc
브라우저 호환성은 좋지 않습니다. http://caniuse.com/#search=sharedworker – sbordet