# Worker(Beta)
基础库 3.0.45 及以上版本支持。 工具调试请使用 1.8.46 及以上版本,SDK 请使用 2.41.0 以上。
# wx.createWorker
Worker wx.createWorker(string scriptPath)
创建一个 Worker 线程
参数
string scriptPath
worker 入口文件的绝对路径
返回值
Worker
Worker 对象
注意事项
- 接口使用前需要在
app.json
(插件暂不支持) 中配置workers
字段,表示worker
代码根目录。 scriptPath
为入口文件的绝对路径,且不以/
开头。- 目前限制最多只能创建一个
Worker
,创建下一个Worker
前请先调用Worker.terminate
示例代码
const worker = wx.createWorker('workers/request/index.js') // 文件名指定 worker 的入口文件路径,绝对路径
worker.onMessage(function (res) {
console.log(res)
})
worker.postMessage({
msg: 'hello worker'
})
worker.terminate()
# Worker
# Worker.onMessage
Worker.onMessage(function listener)
监听主线程/Worker 线程向当前线程发送的消息的事件。
参数
function listener
主线程/Worker 线程向当前线程发送的消息的事件的监听函数
参数
Object res
属性 | 类型 | 说明 |
---|---|---|
message | Object | 主线程/Worker 线程向当前线程发送的消息 |
# Worker.postMessage
Worker.postMessage(Object message)
向主线程/Worker 线程发送的消息。
参数
Object message
需要发送的消息。
示例代码
worker 线程中
worker.postMessage({
msg: 'hello from worker'
})
主线程中
const worker = wx.createWorker('workers/request/index.js')
worker.postMessage({
msg: 'hello from main'
})
# Worker.terminate
Worker.terminate()
结束当前 Worker 线程。仅限在主线程 worker 对象上调用。