javascript - 异步等待在反应 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() 时,它并没有等待结果。
为什么会这样?
解决方案
async 函数声明定义了一个异步函数,它返回一个 AsyncFunction 对象,所以我们需要让 componentDidMount 也成为一个异步函数