Worker
方法
onMessage
监听主线程/Worker 线程向当前线程发送的消息的事件。
支持情况:
(callback: OnMessageCallback) => void
参数 | 类型 | 说明 |
---|---|---|
callback | OnMessageCallback | 主线程/Worker 线程向当前线程发送的消息的事件的回调函数 |
onProcessKilled
监听 worker 线程被系统回收事件(当 iOS 系统资源紧张时,worker 线程存在被系统回收的可能,开发者可监听此事件并重新创建一个 worker)
支持情况:
(callback: OnMessageCallback) => void
参数 | 类型 | 说明 |
---|---|---|
callback | OnMessageCallback | worker 线程被系统回收事件的回调函数 |
postMessage
向主线程/Worker 线程发送的消息。
支持情况:
(message: TaroGeneral.IAnyObject) => void
参数 | 类型 | 说明 |
---|---|---|
message | TaroGeneral.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
参数 | 类型 |
---|---|
result | OnMessageCallbackResult |
OnMessageCallbackResult
参数 | 类型 | 说明 |
---|---|---|
message | TaroGeneral.IAnyObject | 主线程/Worker 线程向当前线程发送的消息 |
API 支持度
API | 微信小程序 | H5 | React Native | Harmony |
---|---|---|---|---|
Worker.onMessage | ✔️ | |||
Worker.onProcessKilled | ✔️ | |||
Worker.postMessage | ✔️ | |||
Worker.terminate | ✔️ |