- 小程序原生中使用async 和await 时会报错
- 此时就是因为在.js中使用了async和await 但是小程序原生是不支持的
- 解决方案1:
- npm init -y 快速创建一个packpage.json文件
- 命令行执行 npm i regenerator-runtime安装regenerator-runtime
- 打开小程序开发者工具,点击右上角的工具选项,点击构建npm,稍等几秒,小程序目录下会出现 miniprogram_npm 文件夹,里面存放的就是构建完成的npm包
- 开发者工具右上角 本地设置 勾选 使用npm模块
- 官网构建npm文档
- 在使用async和await的文件中引入regenerator-runtime
import regeneratorRuntime from 'regenerator-runtime'
- 引入的名字必须是 regeneratorRuntime ,这个不是自定义的,必须就是这个名字!
- 然后就可以正常使用async和await了
- 此时会发现控制台报错
- 进入 miniprogram_npm/regenerator-runtime/index.js,大约730行处
- 删除Function(“r”, “regeneratorRuntime = r”)(runtime)
- 解决方案2:
- 将miniprogram_npm/regenerator-runtime/index.js文件代码赋值到utils文件夹下,新建
- 在使用await和async的文件中引入该文件
import regeneratorRuntime from '../../../../utils/runtime.js'
- 此时也可以正常使用了
- 将miniprogram_npm/regenerator-runtime/index.js文件代码赋值到utils文件夹下,新建