Я пытаюсь получить работы публикации (), рукопожатия (), подписки (), выполняемые в потоке Web Worker () вместо потока пользовательского интерфейса. Но пока безуспешно, потому что, когда я пытаюсь импортировать с помощью «importScripts ('cometd.js')», cometd.js не может загрузиться, потому что cometd.js использует «окно», которое недоступно в Web Worker(). Кто-нибудь что-нибудь делал по этому поводу?
Кто-нибудь сделал javascripts cometd, работающие в веб-воркере?
Ответы (1)
Обратные вызовы CometD в большинстве приложений требуют изменения DOM, поэтому очень удобно, что они выполняются в потоке пользовательского интерфейса.
Кроме того, внутренняя работа CometD полностью асинхронна, поэтому она никогда не блокирует поток пользовательского интерфейса.
Поэтому использование WebWorkers в CometD не нужно: это усложнит реализацию CometD, а я, скорее всего, и приложение.
Чтобы ответить на ваш вопрос, вариант запуска кода CometD в WebWorkers был рассмотрен, но в конечном итоге не реализован, поскольку он был сочтен ненужным по вышеуказанным причинам.
person
sbordet
schedule
07.07.2013
с другой стороны, возможность запуска длительного опроса в Shared Worker даст нам возможность хорошо разделить это соединение между вкладками.
- person shabunc; 31.10.2015
К сожалению, совместимость с браузерами оставляет желать лучшего: caniuse.com/#search=sharedworker
- person sbordet; 31.10.2015