小程序如何支持使用 async/await详解


Posted in Javascript onSeptember 12, 2019

前言

小程序本身是不支持async/await语法的,但有些应用场景,我们使用async/await会使得代码更简洁,也更易于维护,用过都知道是有多爽的。既然小程序不支持,那我们可以借助 fackbook 开源的 regenerator 来完成这一功能。 前面我也百度过一些方法,但很多方法都行不通,只能从其中找到一些线索,再加上实践来验证,最后在这里记录下成功的解决方法。

准备工作

1. 小程序目录下,新建一个packpage.json,通过命令行执行 npm init -y 可以快速创建

2. 安装 regenerator-runtime,命令行执行 npm i regenerator-runtime

3. 打开小程序开发者工具,点击右上角的工具选项,点击构建npm,稍等几秒,小程序目录下会出现 miniprogram_npm 文件夹,里面存放的就是构建完成的npm包

4. 开发者工具右上角 本地设置 勾选 使用npm模块

小程序如何支持使用 async/await详解

npm构建参考文档:https://developers.weixin.qq.com/miniprogram/dev/devtools/npm.html

如何使用

引入 regenerator-runtime

import regeneratorRuntime from 'regenerator-runtime'

小程序如何支持使用 async/await详解

引入的名字必须是 regeneratorRuntime ,这个不是自定义的,必须就是这个名字!

然后就可以正常使用 async/await

小程序如何支持使用 async/await详解

最后

完成上面的步骤后,我在使用时会报一个错误

小程序如何支持使用 async/await详解

后面发现需要删除 regenerator-runtime 文件中一些源码后,才能正常使用。(不知道是哪里出了问题,假如你们在使用时出现这个错误,再参考下面的解决方法)

进入 miniprogram_npm/regenerator-runtime/index.js,大约730行处

小程序如何支持使用 async/await详解

删除 Function("r", "regeneratorRuntime = r")(runtime) 即可

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js中通过父级进行查找定位元素
Jun 15 Javascript
基于jQuery的图片不完全按比例自动缩小
Jul 11 Javascript
node.js中的fs.futimesSync方法使用说明
Dec 17 Javascript
谈谈Jquery中的children find 的区别有哪些
Oct 19 Javascript
学习JavaScript设计模式之状态模式
Jan 08 Javascript
微信小程序 登陆流程详细介绍
Jan 17 Javascript
JavaScript实现简易的天数计算器实例【附demo源码下载】
Jan 18 Javascript
JQuery 封装 Ajax 常用方法(推荐)
May 21 jQuery
vuejs+element-ui+laravel5.4上传文件的示例代码
Aug 12 Javascript
jQuery+ajax实现动态添加表格tr td功能示例
Apr 23 jQuery
CKEditor 4.4.1 添加代码高亮显示插件功能教程【使用官方推荐Code Snippet插件】
Jun 14 Javascript
JS实现长图上下滚动效果
Mar 19 Javascript
layui清空,重置表单数据的实例
Sep 12 #Javascript
layui table 多行删除(id获取)的方法
Sep 12 #Javascript
详解Vue中CSS样式穿透问题
Sep 12 #Javascript
微信小程序 函数防抖 解决重复点击消耗性能问题实现代码
Sep 12 #Javascript
微信小程序之 catalog 切换实现解析
Sep 12 #Javascript
layui实现checkbox的目录树tree的例子
Sep 12 #Javascript
layui表单提交到后台自动封装到实体类的方法
Sep 12 #Javascript
You might like
PHP Curl出现403错误的解决办法
2014/05/29 PHP
JavaScript 定义function的三种方式小结
2009/10/16 Javascript
javascript正则表达式定义(语法)总结
2016/01/08 Javascript
使用Curl命令查看请求响应时间方法
2016/11/04 Javascript
基于JavaScript实现窗口拖动效果
2017/01/18 Javascript
angularjs中的$eval方法详解
2017/04/24 Javascript
JavaScript 获取元素在父节点中的下标(推荐)
2017/06/28 Javascript
js与jQuery实现的用户注册协议倒计时功能实例【三种方法】
2017/11/09 jQuery
AngularJs的UI组件ui-Bootstrap之Tooltip和Popover
2018/07/13 Javascript
用js编写留言板
2020/03/17 Javascript
vue设置全局访问接口API地址操作
2020/08/14 Javascript
[01:38]【DOTA2亚洲邀请赛】Sumail——梦开始的地方
2017/03/03 DOTA
Python实现文件按照日期命名的方法
2015/07/09 Python
python中使用正则表达式的后向搜索肯定模式(推荐)
2017/11/11 Python
python Pexpect 实现输密码 scp 拷贝的方法
2019/01/03 Python
python Selenium实现付费音乐批量下载的实现方法
2019/01/24 Python
python使用装饰器作日志处理的方法
2019/07/11 Python
pytorch 实现删除tensor中的指定行列
2020/01/13 Python
浅谈Python线程的同步互斥与死锁
2020/03/22 Python
python将数据插入数据库的代码分享
2020/08/16 Python
python中pivot()函数基础知识点
2021/01/03 Python
使用CSS3实现SVG路径描边动画效果入门教程
2019/10/21 HTML / CSS
html5页面结构_动力节点Java学院整理
2017/07/10 HTML / CSS
世界上最好的精品店:Shoptiques
2018/02/05 全球购物
日本热销NO.1胶原蛋白冻:Aishitoto爱希特多
2019/06/20 全球购物
酒店副总岗位职责
2013/12/24 职场文书
高中政治教学反思
2014/01/18 职场文书
剪枝的学问教学反思
2014/02/07 职场文书
节能减耗标语
2014/06/21 职场文书
党员群众路线教育实践活动剖析材料
2014/10/10 职场文书
巾帼文明岗汇报材料
2014/12/24 职场文书
《正比例》教学反思
2016/02/23 职场文书
2016年质量月活动总结报告
2016/04/05 职场文书
民政局2016年“六一”儿童节慰问活动总结
2016/04/06 职场文书
员工升职自我评价
2019/03/26 职场文书
教你如何让spark sql写mysql的时候支持update操作
2022/02/15 MySQL