如何在 React js 中获取时隐藏控制台状态错误消息?



在我的 React 应用程序中,我使用fetch()从我的 API 获取数据,_callAPI()函数获取domain参数并调用 API,如果我的数据库中存在域的网站。如果存在,则返回网站的对象,否则返回 500。所以,在我使用 fetch(( 之前,我无法弄清楚该网站是否存在。问题是每次 fetch(( 找不到任何东西时,它都会抛出以下内容:

container.jsx:25 GET http://localhost:3000/boutiques/detail/?q=testdomain.com 500(内部服务器错误(

当它找不到很多网站时,控制台日志中会包含该错误消息。有没有办法在获取时忽略这种消息?

fetch()

_callApi = () => {
const { domain } = this.props;
return fetch(`/boutiques/detail/?q=${domain}`)
.then(response => {
if (response.status === 500) {
return 500;
}
return response.json();
})
.then(json => json)
.catch(err => console.log(err));
};

如果要将浏览器错误静音:

不幸的是,这无法完成,因为这种类型的消息在 控制台由 Chrome 本身打印。抑制此类消息 已经争论了多年,但共识似乎是这个 消息是可取的

学分。

如果要在控制台中静音"未处理"错误

您始终可以在前端将错误静音,如下所示:

.catch(err => { const mute = err })

但是最好以某种方式通知用户有关错误并且不执行此类解决方法。

此外,您的服务器最好在响应中返回错误消息,并且在前端继续执行。

查看您的情况,服务器最好使用状态代码 400 进行响应。以下是 HTTP 错误代码及其用途:

  • 4xx(客户端错误(:请求包含错误的语法或无法 实现
  • 5xx(服务器错误(:服务器无法完成 显然有效的请求

最新更新