如何在反应中处理API错误并显示自定义日志

时间:2019-05-12 08:22:57

标签: reactjs

componentDidMount() {
  let url = FormatUrl(`/user/`)
  fetch(url)
  .then(response => response.json())
  .then(data => {
    console.log(data)
  }).catch(err => {
    if (err){
      console.log('has error')
    }
  })
}

我在这里尝试从错误的api获取数据。 而且它抛出错误以下。

Home.jsx:20 GET http://127.0.0.1:8000/user/ net::ERR_CONNECTION_REFUSED

我 有什么办法可以隐藏此错误并在控制台中显示简单消息而不会抛出 例外。

1 个答案:

答案 0 :(得分:0)

fetch API不会仅因为承诺无法到达端点而拒绝该承诺。您需要做的是在第一个.then()中检查响应。您可以使用response.status返回状态代码,或者可以使用response.ok如果状态代码在200-299间隔内,则返回true。 可以找到更详细的说明here