在我的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));
};
发布于 2018-10-15 06:09:38
如果要将浏览器静音,则返回错误:
不幸的是,不能这样做,因为控制台中的这种类型的消息是由chrome自己打印的。抑制这种类型的信息已经争论了多年,但似乎一致认为这种信息是可取的
如果要在控制台中静音未处理的错误,则为
您始终可以在前端静音错误,如下所示:
.catch(err => { const mute = err })
但最好是以某种方式通知用户该错误,而不是做这样的变通。
此外,最好您的服务器在响应中返回一条错误消息,并在前端处理它。
查看您的案例,服务器可能会更好地响应状态代码400。以下是HTTP错误代码及其用途:
https://stackoverflow.com/questions/52807184
复制相似问题