Skip to main content
Version: 3.x

Worker

方法

onMessage

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

支持情况:

参考文档

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

onProcessKilled

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

支持情况:

参考文档

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

postMessage

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

支持情况:

参考文档

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

示例代码

worker 线程中

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

主线程中

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

terminate

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

支持情况:

参考文档

() => void

参数

OnMessageCallback

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

OnMessageCallbackResult

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

API 支持度

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