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

标签 javascript reactjs

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

Error Image in Console

所以,我看到“未找到”,这是我想要显示的文本,但是如何将此文本从错误格式中取出以便我可以在其他地方使用它?

这是我的代码,希望这能理解我想要做的事情:

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')
      }
  });

最佳答案

JavaScript 错误继承自基 Error目的。这意味着它们几乎总是有一个设置的 message 属性,这意味着您可以简单地执行以下操作:

console.log(err.message);

还要明确的是,fetch是一个浏览器API,与React无关。

关于javascript - 检索不同错误结果的 React Fetch 错误文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54047937/

相关文章:

javascript - 从 javascript 触发按钮点击

javascript - Sequelize : TypeError: Cannot read property 'length' of undefined when try to create data on DB

javascript - 单个文件中多个 React 组件的 PropType 验证

javascript - 如何在 React 中设置电话号码输入的样式?

javascript - 使用 Let 变量声明和 With 语句

javascript - 通过另一个属性指令设置属性指令导致双重绑定(bind)

javascript - 在没有重新加载页面的情况下,Sapper session 在生产构建中无法正确设置

javascript - 具有明确和更新时间的自定义 Hook 无法按预期工作

reactjs - 使用 withRouter 的 React-Router + React Hooks

javascript - firebase__webpack_imported_module_2__.auth.createuserwithemailandpassword 不是函数。?