--- title: AbstractWorker slug: Web/API/AbstractWorker tags: - API - AbstractWorker - Interface - Reference - SharedWorker - Web Workers - Worker translation_of: Web/API/AbstractWorker ---

{{ APIRef("Web Workers API") }}

 Web Workers API 的 AbstractWorker 接口是一个定义适用于所有类型 worker 属性和方法的抽象接口,包括基础的 {{domxref("Worker")}},{{domxref("ServiceWorker")}} 以及 {{domxref("SharedWorker")}}。作为一个抽象类,你不能直接使用 AbstractWorker

属性

AbstractWorker 接口不会继承任何属性。

事件处理函数

{{domxref("AbstractWorker.onerror")}}
当 worker 中出现 {{domxref("ErrorEvent")}} 类型的错误时,{{ domxref("EventListener") }} 就会被调用。

方法

AbstractWorker 接口不会实现或继承任何方法。

例子

作为一个抽象类接口,你不应该在代码中直接使用 AbstractWorker 接口。取而代之,你应该使用 {{domxref("Worker")}} 或 {{domxref("SharedWorker")}},这两者都继承了 AbstractWorker 的属性。

下面的一小段代码是展示如何使用 {{domxref("Worker.Worker", "Worker()")}} 构造函数构造 {{domxref("Worker")}} 对象并使用它:

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

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

worker 的代码会从 "worker.js" 文件被加载。代码假设这里已经有一个现成的 {{HTMLElement("input")}} 元素且由 first 表示;设置了一个用于 {{event("change")}} 事件的事件处理函数,所以当用户更改 first 的值时,一个提示信息会被提交且通知到 worker。

完整的例子,请看:

相关规范

Specification Status Comment
{{SpecName("HTML WHATWG", "#abstractworker", "AbstractWorker")}} {{Spec2("HTML WHATWG")}} No change from {{SpecName("Web Workers")}}.


浏览器兼容性

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

相关链接