检索不同错误结果的React Fetch错误文本

时间:2019-01-05 00:43:15

标签: javascript reactjs

因此,我要获取一个URL,而我的API会返回数据或带有一些错误代码的500错误。我正在尝试捕获错误代码并将其显示在React中。在控制台中,我看到了错误,但它看起来像这样:

Error Image in Console

因此,我看到了“ Not Found”(我要显示的文本),但是如何以错误格式显示此文本,以便在其他地方使用?

这是我的代码,希望这可以理解我要执行的操作:

callApi = async (url) => {
    const response = await fetch(url);
    const body = await response.json();

    if (response.status !== 200) throw Error(body.messages);

    return body;
};

this.callApi(url)
  .then(results => {
      this.function(results);
  })
  .catch(err => {
      console.log(err);
      
      if (err === "Not Found") {
          console.log('Not Found')
      }
      
      if (err === "No Access") {
          console.log('No Access')
      }
  });

1 个答案:

答案 0 :(得分:1)

JavaScript错误是从基础Error对象继承的。这意味着他们几乎总是拥有一组message属性,这意味着您可以轻松做到:

console.log(err.message);

还要清楚一点,fetch是浏览器API,与React无关。