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