title: Worker

sidebar_label: Worker

方法

onMessage

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

支持情况:Worker - 图1 Worker - 图2 Worker - 图3

参考文档

  1. (callback: OnMessageCallback) => void
参数 类型 说明
callback OnMessageCallback 主线程/Worker 线程向当前线程发送的消息的事件的回调函数

onProcessKilled

监听 worker 线程被系统回收事件(当 iOS 系统资源紧张时,worker 线程存在被系统回收的可能,开发者可监听此事件并重新创建一个 worker)

支持情况:Worker - 图4 Worker - 图5 Worker - 图6

参考文档

  1. (callback: OnMessageCallback) => void
参数 类型 说明
callback OnMessageCallback worker 线程被系统回收事件的回调函数

postMessage

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

支持情况:Worker - 图7 Worker - 图8 Worker - 图9

参考文档

  1. (message: TaroGeneral.IAnyObject) => void
参数 类型 说明
message TaroGeneral.IAnyObject 需要发送的消息,必须是一个可序列化的 JavaScript key-value 形式的对象。

示例代码

worker 线程中

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

主线程中

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

terminate

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

支持情况:Worker - 图10 Worker - 图11 Worker - 图12

参考文档

  1. () => void

参数

OnMessageCallback

  1. (result: OnMessageCallbackResult) => void
参数 类型
result OnMessageCallbackResult

OnMessageCallbackResult

参数 类型 说明
message TaroGeneral.IAnyObject 主线程/Worker 线程向当前线程发送的消息

API 支持度

API 微信小程序 H5 React Native
Worker.onMessage ✔️
Worker.onProcessKilled ✔️
Worker.postMessage ✔️
Worker.terminate ✔️