小程序 多线程Worker(类似h5的webWorker)
一些异步处理的任务,可以放置于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)相关推荐
- 揭秘:支付宝小程序 V8 Worker 技术演进
简介: 本文分享支付宝小程序 V8 Worker 相关工作沉淀和总结,包括技术演进.基础架构.基础功能.以及 JS 引擎能力输出,以及一些优化方案等.欢迎同学们共同探讨,指正.(文末福利:<小程 ...
- 实现微信小程序web-view内嵌H5中的下载功能(大文件切片下载)
实现微信小程序内嵌H5中的下载功能 一.项目场景: 难点 解决方案: 1.H5微信小程序: a.首先必不可少的是安装jweixin-module模块: b.在main.js中将依赖绑定: c.H5对应 ...
- 小程序跳到h5页面_微信小程序跳转到H5页面实战篇
有些场景需要从微信小程序跳转到H5页面,通常网上的教程会告诉你使用web-view组件就可以了,但实际开发中还有很多需要注意的地方,尤其是很多概念往往会把初学者弄糊涂了,下面就让我们从概念开始吧!微信 ...
- 关于微信小程序跳转到H5,然后从H5又跳回微信小程序问题的资料
关于微信小程序跳转到H5,然后从H5又跳回微信小程序问题的资料 直接上答案 // javascript import wx from 'weixin-jsapi';// 判断h5页面是否是运行在小程序 ...
- 微信小程序webview内嵌h5页面
微信官方文档web-view | 微信开放文档 正式上线前准备(前期开发调试可以忽略) 首先登录小程序管理后台,把 web-view 直连的 h5 页面地添加到配置域名白名单中 比如我想要小程序直连地 ...
- 微信小程序跳转到H5网页
小程序是一种不用下载就能使用的应用,也是一项门槛非常高的创新,经过将近两年的发展,已经构造了新的小程序开发环境和开发者生态.小程序也是这么多年来中国IT行业里一个真正能够影响到普通程序员的创新成果,现 ...
- 小程序跳转到另一个小程序,参数传递以及调试,H5跳转小程序,小程序内嵌H5,
业务场景:企业A的小程序内嵌了企业B的H5 问题:企业A内嵌企业B的H5发起微信支付的时候,绕不过微信的限制.总是支付失败. 问题解决思路:企业B新建一个小程序,让企业A调用企业B的小程序, B内嵌H ...
- [微信小程序]WebView内嵌H5实现本地文件上传
[官方文档] 小程序与H5如何互相跳转 小程序与H5交互以上传文件为例 微信小程序开放能力web-view使用之h5页面与小程序页面交互传值 快速小程序开发之微信小程序内嵌 H5 微信小程序web-v ...
- thinkphp开发的小程序、公众号H5、浏览器端H5、前端vue框架开发
需要程序代码的可以找我提供 用户端包含:小程序.公众号H5.浏览器端H5 序号 功能模块 简介 1 商品 商品分类 支持两级分类,分类可添加分类图标,可设置排序和是否显示,支持分类搜索. 2 商品管理 ...
- uniapp微信小程序外壳内联H5实现支付
业务场景:用户有现成的微信H5应用(有微信支付).用户想要一个一摸一样的小程序版本,但是又不想高成本去重新开发,所以可以考虑采用小程序的web-view组件内联现有的微信H5应用(哇简直不要再偷懒了! ...
最新文章
- 冒泡排序的PHP实现 Bubble Sort
- Bitcoin Core P2P网络层
- mysql里制造一个错误
- Delphi 的各种错 误 信 息(中英文)
- sql server数据库查询超时报错
- 【转】C#进阶系列——WebApi 接口参数不再困惑:传参详解
- 视频|每日CeBIT:沃森机器人走进生活、三星无线很便利
- 布客重要公告 2022.4.11
- 卧槽!“饿了么”把“饿了吗”告了,网友:判决结果没想到~
- 讯飞语音转文字_踩坑记:讯飞语音转文字SDK的坑
- android为APK新建SELINUX权限域seapp_contexts
- abaqus python教程_Abaqus-python脚本到底应该怎么写?一文带你入门
- 轻流入选|国际权威研究机构「2021年低代码平台中国市场现状分析报告」发布
- 【PS/PSD】237款日系小清新文艺唯美梦幻手绘插画分层PSD素材
- CTeX下载安装步骤
- java 设置pdf 编码格式_Java 在PDF中添加条形码
- OpenCascade学习笔记-创建一个简单的OpenCascade单文档
- jsbox 导入_JSBox脚本分享
- CSS字体、行高等其他样式
- SOJ 4583 动态规划之分组背包
热门文章
- WRF4.2安装过程全记录
- 对校招生培养工作的建议_19、贵单位对我院学生培养工作有何建议:
- mycat + keepalived + haproxy + mmm
- 一款校园社区APP,功能策划详解
- AngularJS的学习--$on、$emit和$broadcast的使用 - 疯狂的原始人
- OUC2021秋-数值分析-期末(回忆版)
- win10查看网卡的vender ID和device ID
- TabHost眼睛会骗人
- 「倍轻松」要上科创板,按摩器为什么总要和科技沾点边?
- 闯关H5小游戏制作推荐,教你快速上手TOM闯关游戏H5