我正在使用axios从我的后端检索数据,但诺言仍未完成。
我已经使用.then()甚至异步并等待。我正在使用.then(res => res.data),因为我知道每个Promise都有保存检索到的数据的“数据”键,之后它将以这种方式返回。我还将该函数绑定到了构造函数中!
async getTrackInfo() {
return await axios.get('http://localhost:60231/api/values')
.then(res => res.data);
};
componentDidMount() {
const data = this.getTrackInfo();
console.log(data);
this.setState({
tracks: data
});
}
但是不幸的是,它返回的是undefined。
答案 0 :(得分:-1)
以下代码将起作用:-
async getTrackInfo() {
return await axios.get('http://localhost:60231/api/values')
.then(res => res.data);
};
async componentDidMount() { // Make this function async
const data = await this.getTrackInfo(); // add await here
console.log(data);
this.setState({
tracks: data
});
}