如果我像这样在componentDidMount前面使用async可以吗?
async componentDidMount() {
const key = '11a03b332b43ad4cde5';
try {
const response = await axios.get('https://api.unsplash.com/photos/?client_id=' + key);
this.setState({ imgs: response.data });
} catch (err) {
console.log('Error happened during fetching!', err);
}
}
正在工作。但是我想问一下它是否还可以,是否有任何缺点。
谢谢
答案 0 :(得分:1)
是的,这很好。甚至鼓励您在componentDidMount()
中进行http请求调用(例如使用axios的get请求),因此只有在其中使用async await才有意义。但是请记住,您也可以使用promises
和.then
来代替,这意味着在这些情况下您无需向async
添加componentDidMount()
。