--- title: AbstractWorker slug: Web/API/AbstractWorker tags: - API - AbstractWorker - Interface - SharedWorker - Web Workers - Web Workers API - Worker - Абстрактный - Интерфейс translation_of: Web/API/AbstractWorker ---
{{ APIRef("Web Workers API") }}
Интерфейс AbstractWorker (абстрактный воркер) , как часть Web Workers API - это абстрактный интерфейс, который определяет общие свойства и методы для всех типов воркеров: для базового {{domxref("Worker")}} и также для {{domxref("ServiceWorker")}} и {{domxref("SharedWorker")}}. Вы напрямую не взаимодействует с AbstractWorker, как и с абстрактным классом.

Свойства

Интерфейс AbstractWorker не наследует никаких свойств

Обработчики событий

{{domxref("AbstractWorker.onerror")}}
{{ domxref("EventListener") }}, который вызывается каждый раз, когда {{domxref("ErrorEvent")}} с типом error всплывает через воркер.

Методы

Интерфейс AbstractWorker не наследует и не реализует никаких свойств

Пример

Прямого использования AbstractWorker не будет в коде, так как это абстрактный интерфейс. Вместо этого, взаимодействие будет происходить либо с {{domxref("Worker")}}, либо с {{domxref("SharedWorker")}}, оба из которых наследуют свойства от AbstractWorker.

Ниже фрагмент кода, который демонстрирует создание нового Worker с помощью конструктора {{domxref("Worker.Worker", "Worker()")}}; ещё здесь показан способ как послать сообщению воркеру.

var myWorker = new Worker('worker.js');

first.onchange = function() {
  myWorker.postMessage([first.value, second.value]);
  console.log('Message posted to worker');
}

Код воркера загружается из файла "worker.js". В данном коде предполагается, что есть элемент {{HTMLElement("input")}}, его определяет переменная first. Для события {{domxref("change")}} элемента создается обработчик, поэтому когда пользователь изменяет значение для first, отправляется сообщение в воркер для уведомления его об данных изменениях.

Вы можете найти больше примеров в репозитории MDN Web Docs на GitHub:

Спецификации

Спецификация Статус Комментарий
{{SpecName("HTML WHATWG", "#abstractworker", "AbstractWorker")}} {{Spec2("HTML WHATWG")}} Без изменений {{SpecName("Web Workers")}}.
{{SpecName("Web Workers", "#the-abstractworker-abstract-interface", "AbstractWorker")}} {{Spec2("Web Workers")}} Начальное определение.

Совместимость с браузерами

{{Compat("api.AbstractWorker")}}

Смотрите также