开发者社区
社区提问意见反馈
开发者钉组织
扫描二维码
加入支付宝开发者钉组织
基础 api
基础
应用级事件
界面
跳转
多媒体
缓存
文件
位置
网络
设备
worker
worker
数据安全
分享
收藏
自定义通用菜单
更新管理
web-view组件控制
升级支付宝最新版本
隐私信息授权
小程序广告
开放能力 api
开发 > api > 基础 api > worker > my.createworker
评论
收藏
我的文档
设置

worker my.createworker(string scriptpath)

基础库  或更高版本; 若版本较低,建议采取 兼容处理

小程序开发者工具: 支持。3.8.3

主体: 企业支付宝小程序

创建 worker 线程。

注:

  • 目前限制最多只能创建一个 worker,创建下一个 worker 前请先调用 worker.terminate
  • 若返回空,则说明 worker 创建失败。

string scriptpath

worker 代码入口文件的路径。相对 app.json 所在目录,请勿以 / 开头
注意:接口使用前需要在 app.json 中配置 workers 字段
如果在插件内创建 worker,需要在 plugin.json 中配置 workers 字段

object options

可选

属性 类型 默认值 必填 兼容性 描述
useexperimentalworker boolean -
基础库: 2.9.7
支付宝: 10.5.60

是否使用实验 worker
在 ios 下,实验 worker 的 js 运行效率比非实验 worker 提升数倍,如需在 worker 内进行重度计算的建议开启此选项。同时,实验 worker 存在极小概率会在系统资源紧张时被系统回收,因此建议配合 worker.onprocesskilled 事件使用,在 worker 被回收后可重新创建一个

worker

worker 对象。

代码示例
pages/index/index.js
app.json
workers/index.js
const scriptpath = 'workers/index.js'; // worker 的入口文件
const worker = my.createworker(scriptpath, {
  useexperimentalworker: true // 开启实验 worker
});
if (!worker) {
  my.alert({
    title: 'createworker 失败',
    content: `请检查 worker 是否重复创建;请确保包文件路径 ${scriptpath} 有效,且在 app.json 里的 workers 数组中包含。`
  });
  return;
}
worker.onmessage(function (msg) {
  my.alert({ title: '收到来自 worker 的消息', content: msg.text });
  worker.terminate();
});
worker.postmessage({
  text: 'hello worker'
});
{
  "workers": [
     "workers/index.js"
  ]
}
worker.onmessage(function (msg) {
  worker.postmessage({
    text: msg.text  ' --- hello master'
  });
});
  • bug
    若在 app.json 配置 workers 字段后出现如下编译错误:

    可点击模拟器右上角停止按钮,再点开启:
内容没有解决您的问题?您还可以前往 或 寻求帮助
凯发k8官方网娱乐官方 copyright © 2022 支付宝(杭州)信息技术有限公司  | icp证浙b2-20160559
该文档对你是否有帮助?
当前页面目录
网站地图