Worker

Worker 实例,主线程中可通过 qq.createWorker 接口获取,worker 线程中可通过全局变量 worker 获取。

方法

Worker.postMessage(Object message)

向主线程/Worker 线程发送的消息。

Worker.terminate()

结束当前 Worker 线程。仅限在主线程 worker 对象上调用。

Worker.onMessage(function callback)

监听主线程/Worker 线程向当前线程发送的消息的事件。

示例代码

运行以下代码需先进行基础配置,详细请查阅 多线程 文档了解基础知识和配置方法。

  1. const worker = qq.createWorker('workers/request/index.js') // 文件名指定 worker 的入口文件路径,绝对路径
  2. worker.onMessage(function (res) {
  3. console.log(res)
  4. })
  5. worker.postMessage({
  6. msg: 'hello worker'
  7. })
  8. worker.terminate()

.onMessage

Worker.onMessage(function callback)

监听主线程/Worker 线程向当前线程发送的消息的事件。

参数

function callback

主线程/Worker 线程向当前线程发送的消息的事件的回调函数

参数

Object res

属性类型说明
messageObject主线程/Worker 线程向当前线程发送的消息

.postMessage

Worker.postMessage(Object message)

向主线程/Worker 线程发送的消息。

参数

Object message

需要发送的消息,必须是一个可序列化的 JavaScript key-value 形式的对象。

示例代码

worker 线程中

  1. worker.postMessage({
  2. msg: 'hello from worker'
  3. })

主线程中

  1. const worker = qq.createWorker('workers/request/index.js')
  2. worker.postMessage({
  3. msg: 'hello from main'
  4. })

.terminate

Worker.terminate()

结束当前 Worker 线程。仅限在主线程 worker 对象上调用。