Назад к вопросам
Middle
469
questionbank
Как остановить и уничтожить объект web worker?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
Остановить можно, вызвав метод terminate() у экземпляра worker'а. Это немедленно завершит его выполнение, без ожидания завершения текущих задач.
Уничтожение объекта web worker'а происходит автоматически сборщиком мусора JavaScript после того, как на него не останется ссылок и его ресурсы будут освобождены.
Пример остановки:
// Создание worker'а
const myWorker = new Worker('worker.js');
// Добавление обработчика сообщений (опционально)
myWorker.onmessage = function(event) {
console.log('Получено от worker\'а:', event.data);
};
// Отправка сообщения (опционально)
myWorker.postMessage('Hello Worker!');
// Остановка worker'а
myWorker.terminate();
Важно помнить, что после вызова terminate(), worker перестает реагировать на любые сообщения и не может быть перезапущен. Для новой задачи необходимо создать новый экземпляр Worker.