ES6 await, async 用不了

发布于 7 年前作者 weigao15143 次浏览最后编辑 7 年前来自 ask

ES6 await, async 用不了,报“

regeneratorRuntime is not defined

5 回复
xiawen
xiawen1 楼6 年前

已解决!


小程序开发中由于 es6 至少 ios 9.1 不支持,所以如果已经在项目中使用了较多了es6或必须使用es6,则需要勾选 es6 转 es5,才能解决前述兼容问题。但若有使用 async await 会报 regeneratorRuntime is not defined 错误。解决方法如下:


  1. 下载 facebook 的 regenerator 库

  2. 取 regenerator-master/packages/regenerator-runtime 目录中的 runtime.js 文件放入你的项目中

  3. 在你有使用 async await 的文件前面引入这个 runtime.js 文件即可,引入代码如: const regeneratorRuntime = require('../../utils/runtime.js');


就这样,解决了!

xia30
xia302 楼6 年前

不知道为什么,从那个11.17开始,这种方式不好用了,大家是否遇到这个问题?

taotian
taotian3 楼6 年前

vscode 中可以用的

yangtao
yangtao4 楼6 年前

云函数可以  

小程序的话  需要转译

kfang
kfang5 楼5 年前

老哥,await, async 是ES7的内容,小程序还不支持吧。