反应-对componentDidMoutn使用异步

时间:2019-02-10 22:48:55

标签: reactjs async-await axios

如果我像这样在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);
    }
  }

正在工作。但是我想问一下它是否还可以,是否有任何缺点。

谢谢

1 个答案:

答案 0 :(得分:1)

是的,这很好。甚至鼓励您在componentDidMount()中进行http请求调用(例如使用axios的get请求),因此只有在其中使用async await才有意义。但是请记住,您也可以使用promises.then来代替,这意味着在这些情况下您无需向async添加componentDidMount()