# Worker wx.createWorker(string scriptPath, object options)

基础库 1.9.90 开始支持,低版本需做兼容处理

小程序插件:支持,需要小程序基础库版本不低于 2.18.1

微信 Windows 版:支持

微信 Mac 版:支持

相关文档: 多线程 Worker

# 功能描述

创建一个 Worker 线程

# 参数

# string scriptPath

worker 入口文件的绝对路径

# object options

可选参数

属性 类型 默认值 必填 说明 最低版本
useExperimentalWorker boolean false 是否使用实验worker。在iOS下,实验worker的JS运行效率比非实验worker提升数倍,如需在worker内进行重度计算的建议开启此选项。同时,实验worker存在极小概率会在系统资源紧张时被系统回收,因此建议配合 worker.onProcessKilled 事件使用,在worker被回收后可重新创建一个。 2.13.0

# 返回值

# Worker

Worker 对象

# 注意事项

  • 接口使用前需要在 app.json (插件为 plugin.json) 中配置 workers 字段,表示 worker 代码根目录。
  • scriptPath 为入口文件的绝对路径,且不以 / 开头。
  • 目前限制最多只能创建一个 Worker,创建下一个 Worker 前请先调用 Worker.terminate
  • 更多细节详见 多线程 worker 指南(小程序)

# 示例代码

// 创建普通worker
wx.createWorker('workers/index.js')
function createNewWorker() {
  const worker = wx.createWorker('workers/index.js', {
    useExperimentalWorker: true
  })
  // 监听worker被系统回收事件
  worker.onProcessKilled(() => {
    // 重新创建一个worker
    createNewWorker()
  })
}
// 创建实验worker
createNewWorker()