微信小程序使用Es7的async和await
2020-01-30 本文已影响0人
简约酒馆
方案一 、增强编译 -------> 设置之后全局使用
qiang.png方案二、选择插件 ------>注册到App.js 每次使用时都需要引用
小程序只支持Es6转Es5 尝试使用Es7的async和await将异步操作同步化 则会报错
s1.png在js文件中使用用Es7的async和await
s3.png控制台报错: regeneratorRuntime is not defined
s2.png那如何使用Es7的async和await???
上述控制台报错 regeneratorRuntime 未定义,要使用 ES7 的 async / await 的话,只靠微信开发者工具中的 Babel 转换工具是不够的,它还需要额外的 Babel 插件来编译 async / await 代码,这里我们可以做如下配置。
百度搜索这样操作的 *** 这里有坑
使用npm 工具下载
- 引入 regenerator 包
在自己的测试项目下npm init ======> npm install --save-dev regenerator,
然后把 node_modules 下的整个 regenerator-runtime 文件夹拷贝到项目的 pages 目录。没有说必须放在pages 下,但是必须放在当前的项目下
- 引入代码
在需要用到 async / await 特性的js文件中,引入 regenerator 库
const regeneratorRuntime = require('../../pages /regenerator-runtime/runtime')
然而并没用什么用 报错:Function(...) is not a function
s4.png其实上述npm下载的最新版本的regenerator 版本 具体下载那个版本我也忘了
我在百度网盘有备份,需要的可以通过网盘下载 regenerator-runtime 文件夹拷贝到项目的 pages 目录。没有说必须放在pages 下,但是必须放在当前的项目下
地址:https://pan.baidu.com/s/1JXZIsTAgave4GWgEbeN1Ag
使用 有两种方法
1、
在需要用到 async / await 特性的js文件中,引入 regenerator 库
const regeneratorRuntime = require('../../pages /regenerator-runtime/runtime')
2、在app.js全局函数注册,在所有组件都可以使用 regenerator-runtime文件夹我存放在utils文件中
s6.png
使用第二种方法在全局函数注册,在其他组组件的使用方法 ====>在头部引入应用实例
s8.png如果对你有用的话麻烦给个赞!!!