Какие ограничения накладываются на использование потоков web worker?

Нет прямого доступа к DOM.

Короткий ответ

Что ответить на собеседовании

Нет прямого доступа к DOM. Нет доступа к глобальным объектам: window, document, parent. Ограниченный доступ к API браузера (например, нет alert, confirm, prompt). Запрет на работу с некоторыми встроенными объектами: XMLHttpRequest в синхронном режиме. Обмен данными только через сообщения (postMessage, onmessage) с использованием структурированного клонирования или передаваемых объектов (Transferable objects). Ограниченный доступ к файловой системе (только через File API и Blob). Не могут создавать свои собственные Web Workers.

Подробный разбор

Ответ с пояснениями

  • Нет прямого доступа к DOM.
  • Нет доступа к глобальным объектам: window, document, parent.
  • Ограниченный доступ к API браузера (например, нет alert, confirm, prompt).
  • Запрет на работу с некоторыми встроенными объектами: XMLHttpRequest в синхронном режиме.
  • Обмен данными только через сообщения (postMessage, onmessage) с использованием структурированного клонирования или передаваемых объектов (Transferable objects).
  • Ограниченный доступ к файловой системе (только через File API и Blob).
  • Не могут создавать свои собственные Web Workers.
// Пример ограничения: недопустимость доступа к DOM из Worker
self.onmessage = function(e) {
  // Следующая строка вызовет ошибку, так как worker не имеет доступа к document
  // document.getElementById('result').textContent = e.data;

  // Вместо этого, отправляем результат обратно в основной поток
  self.postMessage('Обработка завершена: ' + e.data);
};

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее