Web Worker: отдельный поток для браузерной работы

Worker позволяет вынести поддерживаемые вычисления из основного потока страницы.

Иллюстрация к теме, а не фотография описанного события. Siarhei Besarab · CC BY-SA 4.0. Размер изменён; при показе возможно кадрирование.

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

У Worker нет обычного прямого доступа к DOM страницы. Поэтому границу задачи нужно спроектировать: какие данные передать, какой результат вернуть и как обработать ошибку. Передача больших объектов тоже имеет стоимость. Измерять стоит весь путь работы, включая обмен сообщениями, а не только время вычисления внутри Worker.

Источники

  1. Официальная документация — Web Worker: отдельный поток для браузерной работыdeveloper.mozilla.org