Кто-нибудь сделал javascripts cometd, работающие в веб-воркере?

Я пытаюсь получить работы публикации (), рукопожатия (), подписки (), выполняемые в потоке Web Worker () вместо потока пользовательского интерфейса. Но пока безуспешно, потому что, когда я пытаюсь импортировать с помощью «importScripts ('cometd.js')», cometd.js не может загрузиться, потому что cometd.js использует «окно», которое недоступно в Web Worker(). Кто-нибудь что-нибудь делал по этому поводу?


person D.S    schedule 28.06.2013    source источник


Ответы (1)


Обратные вызовы CometD в большинстве приложений требуют изменения DOM, поэтому очень удобно, что они выполняются в потоке пользовательского интерфейса.

Кроме того, внутренняя работа CometD полностью асинхронна, поэтому она никогда не блокирует поток пользовательского интерфейса.

Поэтому использование WebWorkers в CometD не нужно: это усложнит реализацию CometD, а я, скорее всего, и приложение.

Чтобы ответить на ваш вопрос, вариант запуска кода CometD в WebWorkers был рассмотрен, но в конечном итоге не реализован, поскольку он был сочтен ненужным по вышеуказанным причинам.

person sbordet    schedule 07.07.2013
comment
с другой стороны, возможность запуска длительного опроса в Shared Worker даст нам возможность хорошо разделить это соединение между вкладками. - person shabunc; 31.10.2015
comment
К сожалению, совместимость с браузерами оставляет желать лучшего: caniuse.com/#search=sharedworker - person sbordet; 31.10.2015