Я ищу реальный мир для использования API веб-рабочих.
Каковы прецеденты для веб-работников?
Ответ 1
-
John Resig (из славы jQuery) имеет связку интересных примеров использования веб-работников здесь - игры, графика, криптография.
-
Другое использование - это веб-ввод-вывод - другими словами, опрос URL-адресов в фоновом режиме. Таким образом, вы не блокируете пользовательский интерфейс, ожидающий результатов опроса.
-
Еще одно практическое применение: в Беспине они используют Web Workers для выделения синтаксиса, который вы бы не хотели блокировать редактированием кода, пока вы используете приложение.
-
Из Mozilla: полезно использовать один из способов, чтобы ваш код мог выполнять вычисления с интенсивным использованием процессора без блокировки пользователя интерфейсный поток.
В качестве практического примера подумайте о приложении с большой таблицей #s (это реальный мир, BTW - взятый из приложения, которое я запрограммировал ~ 2 года назад). Вы можете изменить один # в таблице через поле ввода, а множество других чисел в разных столбцах перераспределить в довольно интенсивном процессе.
Старый рабочий процесс: Изменить #. Пойдите кофе, пока JavaScript сверкает через изменения на другие номера, и веб-страница не отвечает в течение 3 минут - после того, как я оптимизировал ее в ад и обратно. Вернитесь с кофе. Измените вторую #. Повторяйте много раз. Нажмите кнопку SAVE.
Новый рабочий процесс с рабочими может быть: Измените #. Получите сообщение о состоянии, которое что-то пересчитывается, но вы можете изменить другие #. Измените больше #s. Когда все будет сделано, подождите, пока статус не изменится на "все вычисления завершены, теперь вы можете просмотреть окончательные # и сохранить".
Ответ 2
Я использовал их для отправки больших объемов данных из браузера на сервер. Очевидно, вы можете сделать это с помощью обычных вызовов AJAX, но если это займет одно из ценных подключений для каждого имени хоста. Кроме того, если пользователь выполняет переход страницы во время этого процесса (например, нажимает ссылку), ваши объекты JavaScript с предыдущей страницы уходят, и вы не можете обрабатывать обратные вызовы. Когда веб-рабочий используется, эта деятельность происходит вне диапазона, поэтому у вас есть лучшая гарантия, что она будет завершена.
Ответ 3
Другой вариант использования:
Сжатие/удаление сжатых файлов в фоновом режиме, если у вас много изображений и других медиафайлов, которые обмениваются с сервером в сжатом формате.
Ответ 4
Еще один вариант использования:
Это включает создание и поддержку индекса в веб-работнике и запрос его для эффективного поиска. Подробнее здесь.