反应异步并等待引发错误“未捕获的ReferenceError:未定义regeneratorRuntime”

时间:2019-01-16 20:24:29

标签: reactjs rest asynchronous async-await

我有这段代码

async makeRestCall() {
    var api = await PrognApi(this.state.Name);
    console.log(api);
  }

但是反应是抛出这个

未捕获的ReferenceError:未定义regeneratorRuntime

在控制台中

。我知道我在React之前使用过async和wait,但是我不记得我认为我必须安装一个库的方式。任何建议都很好。我正在使用js文件保存我的jsx。我也在使用webpack和babel。

2 个答案:

答案 0 :(得分:0)

我不确定“ regeneratorRuntime”是什么,所以问题可能出在其他地方。但是我看到了几件事。

首先,您似乎缺少方法的左括号:

async makeRestCall() {
  var api = await PrognApi(this.state.Name);
  console.log(api);
}

第二,Name的大写字母“ N”正确吗?

第三,我想知道您的方法是否具有this上下文?可能无法访问组件的state。您可以尝试将其更改为箭头功能:

makeRestCall = async () => {
  var api = await PrognApi(this.state.Name);
  console.log(api);
};

我觉得我没有足够的信息来解决此问题。也许更新您的问题以显示整个组件?

祝你好运!

答案 1 :(得分:0)

原来我需要Babel-polyfill