一些异步处理的任务,可以放置于Worker中运行,待运行结束后,再把结果返回到小程序主线程。
Worker运行于一个单独的全局上下文与线程中,不能直接调用主线程的方法。
双方使用Worker.postMessage()来发送数据,Worker.onMessage()来接收数据限制:Worker最大并发数量限制为1个,创建下一个前请用Worker.terminate()结束当前WorkerWorker内代码只能require指定Worker路径内的文件,无法引用其它路径Worker内不支持wx系列的APIWorkers之间不支持发送消息Worker目录内只支持放置JS文件,其他类型的静态文件需要放在Worker目录外插件使用worker前需要在plugin.json内配置workers代码路径,即一个相对插件代码包根目录的路径。1、配置Worker在app.json中可配置Worker代码放置的目录,目录下的代码将被打包成一个文件:{"workers": "workers"}├── app.js├── app.json├── project.config.json└── workers├── request│   ├── index.js│   └── utils.js└── response└── index.js2、在Worker指定文件中编写响应代码worker.onMessage(function (res) {console.log(res)})3、在小程序主线程创建Worker对象const worker = wx.createWorker('workers/响应代码文件',{useExperimentalWorker:false是否使用实验worker。在iOS下,实验worker的JS运行效率比非实验worker提升近十倍,如需在worker内进行重度计算的建议开启此选项。同时,实验worker存在极小概率会在系统资源紧张时被系统回收,因此建议配合worker.onProcessKilled事件使用,在worker被回收后可重新创建一个})4、主线程给Worker发送消息worker.postMessage({msg: 'hello worker'})5、监听worker线程被系统回收事件(当iOS系统资源紧张时,worker线程存在被系统回收的可能,开发者可监听此事件并重新创建一个worker仅限在主线程worker对象上调用worker.onProcessKilled(function callback)6、结束当前Worker线程仅限在主线程worker对象上调用worker.terminate()

代码示例:


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

小程序 多线程Worker(类似h5的webWorker)相关推荐

  1. 揭秘:支付宝小程序 V8 Worker 技术演进

    简介: 本文分享支付宝小程序 V8 Worker 相关工作沉淀和总结,包括技术演进.基础架构.基础功能.以及 JS 引擎能力输出,以及一些优化方案等.欢迎同学们共同探讨,指正.(文末福利:<小程 ...

  2. 实现微信小程序web-view内嵌H5中的下载功能(大文件切片下载)

    实现微信小程序内嵌H5中的下载功能 一.项目场景: 难点 解决方案: 1.H5微信小程序: a.首先必不可少的是安装jweixin-module模块: b.在main.js中将依赖绑定: c.H5对应 ...

  3. 小程序跳到h5页面_微信小程序跳转到H5页面实战篇

    有些场景需要从微信小程序跳转到H5页面,通常网上的教程会告诉你使用web-view组件就可以了,但实际开发中还有很多需要注意的地方,尤其是很多概念往往会把初学者弄糊涂了,下面就让我们从概念开始吧!微信 ...

  4. 关于微信小程序跳转到H5,然后从H5又跳回微信小程序问题的资料

    关于微信小程序跳转到H5,然后从H5又跳回微信小程序问题的资料 直接上答案 // javascript import wx from 'weixin-jsapi';// 判断h5页面是否是运行在小程序 ...

  5. 微信小程序webview内嵌h5页面

    微信官方文档web-view | 微信开放文档 正式上线前准备(前期开发调试可以忽略) 首先登录小程序管理后台,把 web-view 直连的 h5 页面地添加到配置域名白名单中 比如我想要小程序直连地 ...

  6. 微信小程序跳转到H5网页

    小程序是一种不用下载就能使用的应用,也是一项门槛非常高的创新,经过将近两年的发展,已经构造了新的小程序开发环境和开发者生态.小程序也是这么多年来中国IT行业里一个真正能够影响到普通程序员的创新成果,现 ...

  7. 小程序跳转到另一个小程序,参数传递以及调试,H5跳转小程序,小程序内嵌H5,

    业务场景:企业A的小程序内嵌了企业B的H5 问题:企业A内嵌企业B的H5发起微信支付的时候,绕不过微信的限制.总是支付失败. 问题解决思路:企业B新建一个小程序,让企业A调用企业B的小程序, B内嵌H ...

  8. [微信小程序]WebView内嵌H5实现本地文件上传

    [官方文档] 小程序与H5如何互相跳转 小程序与H5交互以上传文件为例 微信小程序开放能力web-view使用之h5页面与小程序页面交互传值 快速小程序开发之微信小程序内嵌 H5 微信小程序web-v ...

  9. thinkphp开发的小程序、公众号H5、浏览器端H5、前端vue框架开发

    需要程序代码的可以找我提供 用户端包含:小程序.公众号H5.浏览器端H5 序号 功能模块 简介 1 商品 商品分类 支持两级分类,分类可添加分类图标,可设置排序和是否显示,支持分类搜索. 2 商品管理 ...

  10. uniapp微信小程序外壳内联H5实现支付

    业务场景:用户有现成的微信H5应用(有微信支付).用户想要一个一摸一样的小程序版本,但是又不想高成本去重新开发,所以可以考虑采用小程序的web-view组件内联现有的微信H5应用(哇简直不要再偷懒了! ...

最新文章

  1. 冒泡排序的PHP实现 Bubble Sort
  2. Bitcoin Core P2P网络层
  3. mysql里制造一个错误
  4. Delphi 的各种错 误 信 息(中英文)
  5. sql server数据库查询超时报错
  6. 【转】C#进阶系列——WebApi 接口参数不再困惑:传参详解
  7. 视频|每日CeBIT:沃森机器人走进生活、三星无线很便利
  8. 布客重要公告 2022.4.11
  9. 卧槽!“饿了么”把“饿了吗”告了,网友:判决结果没想到~
  10. 讯飞语音转文字_踩坑记:讯飞语音转文字SDK的坑
  11. android为APK新建SELINUX权限域seapp_contexts
  12. abaqus python教程_Abaqus-python脚本到底应该怎么写?一文带你入门
  13. 轻流入选|国际权威研究机构「2021年低代码平台中国市场现状分析报告」发布
  14. 【PS/PSD】237款日系小清新文艺唯美梦幻手绘插画分层PSD素材
  15. CTeX下载安装步骤
  16. java 设置pdf 编码格式_Java 在PDF中添加条形码
  17. OpenCascade学习笔记-创建一个简单的OpenCascade单文档
  18. jsbox 导入_JSBox脚本分享
  19. CSS字体、行高等其他样式
  20. SOJ 4583 动态规划之分组背包

热门文章

  1. WRF4.2安装过程全记录
  2. 对校招生培养工作的建议_19、贵单位对我院学生培养工作有何建议:
  3. mycat + keepalived + haproxy + mmm
  4. 一款校园社区APP,功能策划详解
  5. AngularJS的学习--$on、$emit和$broadcast的使用 - 疯狂的原始人
  6. OUC2021秋-数值分析-期末(回忆版)
  7. win10查看网卡的vender ID和device ID
  8. TabHost眼睛会骗人
  9. 「倍轻松」要上科创板,按摩器为什么总要和科技沾点边?
  10. 闯关H5小游戏制作推荐,教你快速上手TOM闯关游戏H5