首页 > 解决方案 > 异步等待在反应 js 应用程序中无法正常工作

问题描述

我创建了一个简单的 react js 应用程序,带有 async 和 await。但是当我调用异步函数时,它不会等待来自 ajax 调用的响应。

class Test extends Component {
   componentDidMount() {
     this.getData();
   }

   async getData() {
     await this.props.getDataFromDB();
   }
}

如果我将异步添加到 componentDidMount 并使用 await this.getData(),它可以正常工作。但是当我调用 this.getData() 时,它并没有等待结果。

为什么会这样?

标签: javascriptreactjsecmascript-6async-await

解决方案


async 函数声明定义了一个异步函数,它返回一个 AsyncFunction 对象,所以我们需要让 componentDidMount 也成为一个异步函数


推荐阅读