在我的 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));
};
Run Code Online (Sandbox Code Playgroud)
如果要使浏览器错误静音:
不幸的是,这无法完成,因为控制台中的此类消息是由 chrome 本身打印的。压制此类信息已争论多年,但共识似乎是这种信息是可取的
学分。
如果您想静音控制台中的 Unhandled 错误:
您始终可以在前端消除错误,如下所示:
.catch(err => { const mute = err })
Run Code Online (Sandbox Code Playgroud)
但是最好以某种方式通知用户有关错误的信息,而不是执行此类解决方法。
此外,您的服务器最好在响应中返回错误消息,并且在前端您将继续执行它。
查看您的情况,服务器以状态代码 400 进行响应可能会更好。以下是 HTTP 错误代码及其用途:
| 归档时间: |
|
| 查看次数: |
5899 次 |
| 最近记录: |