regeneratorRuntime is not defined
发布于 5 年前 作者 xiaming 15238 次浏览 来自 问答
  • 当前 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));
        })
    }
}

报出的错误如下:

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

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

2 回复

第一步:安装 regenerator-runtime

cnpm install --save-dev regenerator-runtime

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

import “regenerator-runtime/runtime”;

需要

import  regenerator-runtime/runtime-module

回到顶部