收藏
回答

regeneratorRuntime is not defined

框架类型 问题类型 终端类型 AppID 基础库版本
小程序 Bug 客户端 wxdd39bf1dc1508e1e 2.2.5

- 当前 Bug 的表现(可附上截图)


- 预期表现


- 复现路径


- 提供一个最简复现 Demo


在一个页面中尝试使用async await函数却报出错误


部分代码如下:

//page/test/test.js
var cloudio = require('../../utils/cloudio.js');
 
Page({
 
  /**
   * 页面的初始数据
   */
  data: {
 
  },
 
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (sence) {
 
    //使用promise的版本
    // cloudio.addData('test', {
    //   title: 'formvscode'
    // }).then(e => {
    //   console.log('数据添加成功');
    //   cloudio.updateData('test', e._id, {
    //     content: 'this is a test',
    //     user: 'lipenghui'
    //   }).then(e => {
    //     console.log('数据修改成功');
    //     console.log(e.stats);
    //   });
    // }).catch(err => console.log(err));
 
    //使用async的版本
    var func=async function(){
      var para1=await cloudio.addData('test',{
        title:'使用async'
      });
      console.log('数据添加成功');
      console.log('para1: '+para1);
 
      var para2=await cloudio.updateData('test',para1._id,{
        content: 'this is a test',
        user:'lipenghui',
      });
 
      console.log('数据修改成功');
      console.log('para1: '+para2);
 
      // return para2.toString+'这是return';
    }
 
    func();
  },
})
//util/cloudio.js
/**
 * 对云端进行操作
 */
const db = wx.cloud.database();
 
module.exports = {
 
    //添加数据
    addData: function (_collection, content) {
        return new Promise((resolve, reject) => {
            db.collection(_collection).add({
                data: content
            }).then(e => resolve(e))
                .catch(err => reject(err));
        })
    },
 
    // 更新数据
    updateData: function (_collection, _id, content) {
        return new Promise((resolve, reject) => {
            db.collection(_collection).doc(_id).update({
                data: content
            }).then(e => resolve(e))
                .catch(err => reject(err));
        })
    }
}


报出的错误如下:



看之前的帖子引入一些文件之后好像错误更多,后来也不敢用了

这种错误现在有最终的解决办法吗?还是要等更新?

回答关注问题邀请回答
收藏

4 个回答

  • 2019-11-21

    第一步:安装 regenerator-runtime


    cnpm install --save-dev regenerator-runtime


    第二步:在目标文件导入regenerator-runtime


    import "regenerator-runtime/runtime";


    2019-11-21
    有用 3
    回复
  • 小白
    小白
    2020-04-13

    取消勾选勾选es6转es5试试

    2020-04-13
    有用 2
    回复 1
    • porunacabezaS
      porunacabezaS
      2021-06-30
      可以!
      2021-06-30
      回复
  • 楚大爷
    楚大爷
    2020-09-18

    直接把这里的版本改下,我这样就OK了 大家可以试试看

    2020-09-18
    有用
    回复
  • 韩文博
    韩文博
    2019-07-01

    需要

    import  regenerator-runtime/runtime-module

    2019-07-01
    有用
    回复 5
    • 秋鸣
      秋鸣
      2019-07-02

      已经解决了,谢谢


      2019-07-02
      回复
    • 小李不熬夜
      小李不熬夜
      2020-01-15回复秋鸣
      请问怎么解决
      2020-01-15
      1
      回复
    • Charlene
      Charlene
      2020-09-29回复秋鸣
      请问怎么解决的
      2020-09-29
      回复
    • 立志大灰郎
      立志大灰郎
      2020-12-01
      请问怎么解决的呀
      2020-12-01
      回复
    • Terry
      Terry
      2022-09-08
      什么解决的
      2022-09-08
      回复
登录 后发表内容