Нет прямого доступа к DOM. Нет доступа к глобальным объектам: window, document, parent. Ограниченный доступ к API браузера (например, нет alert, confirm, prompt). Запрет на работу с некоторыми встроенными объектами: XMLHttpRequest в синхронном режиме. Обмен данными только через сообщения (postMessage, onmessage) с использованием структурированного клонирования или передаваемых объектов (Transferable objects). Ограниченный доступ к файловой системе (только через File API и Blob). Не могут создавать свои собственные Web Workers.
Какие ограничения накладываются на использование потоков web worker?
Нет прямого доступа к DOM.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
- Нет прямого доступа к 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);
};