Worker

Web Workers API 的 Worker 接口代表一个可以轻松创建的后台任务,并可以将消息发送回其创建者。创建一个工作程序只要简单的调用Worker() 构造函数,并指定一个要在工作线程中运行的脚本。

一个值得注意的事实是:worker 能够产生出新的 worker,前提是这些 worker 托管于相同的源内来作为它们的父页面。 此外,worker 还能够使用 XMLHttpRequest 实现网络 I/O 操作, 只不过 XMLHttpRequest 上的 responseXML 与 channel 两个属性值始终返回 null。

 

继承层次

构造函数

语法

new Worker(in DOMString aStringURL);

参数

  • aStringURL
    worker 将要执行的脚本的 URL。它必须遵循同源策略(或是 Gecko 10.0 及后续版本支持的 data URI)。
  • 返回值
    一个新的 Worker。

Worker.prototype

继承层次

Object.prototype
 EventTarget.prototype
  Worker.prototype

属性列表

属性说明
onmessage一个事件监听函数,每当拥有 message 属性的 MessageEvent 从 worker 中冒泡出来时就会执行该函数。事件的 data 属性存有消息内容。
onerror一个事件监听函数,每当类型为 error 的 ErrorEvent 从 worker 中冒泡出来时就会执行该函数。

方法列表

语法说明
postMessage()向 worker 的内部作用域内传递消息。该方法接收一个单独的参数,即要传递给 worker 的数据。数据可以是任何值或者是经过结构化拷贝算法处理过的 JavaScript 对象,换句话说,可以包含循环引用。
terminate()立即终止 worker。该方法不会给 worker 留下任何完成操作的机会;就是简单的立即停止。

Worker实例

参考

相关页面

外部链接