处理失败 API 提取调用
Handling failed API call in fetch
我有以下代码进行 API 调用并基于 HTTP 响应,它在我的 redux reducer 中调度某些操作。
问题是,如果 API 调用失败,它会在控制台中显示它,即使处理不成功调用的代码部分执行正常。我怎样才能防止这种情况发生?我已经在处理不成功的 API 调用,因此控制台中不会显示任何内容。
export const someApiCall = () => {
return (dispatch) => fetch('/api/somefunction', fetchOptionsGet())
.then((response) => {
if(response.ok) {
// Success. Dispatch some actions
} else {
// Failed call. Dispatch some other actions
}
})
}
这没什么问题,别担心。即使您在 http 库中处理此错误,浏览器仍会在控制台中显示 http 错误。
正如@Dherik 所说,这是浏览器的默认功能。
但是如果您担心控制台中显示的 HTTP 错误,那么您可以通过更改 API.
来处理此错误,使其不显示在控制台中
因此,将您的错误流程重新设计为 return 状态代码 2XX,并在响应正文中包含错误代码和消息,并像现在一样处理它。
我有以下代码进行 API 调用并基于 HTTP 响应,它在我的 redux reducer 中调度某些操作。
问题是,如果 API 调用失败,它会在控制台中显示它,即使处理不成功调用的代码部分执行正常。我怎样才能防止这种情况发生?我已经在处理不成功的 API 调用,因此控制台中不会显示任何内容。
export const someApiCall = () => {
return (dispatch) => fetch('/api/somefunction', fetchOptionsGet())
.then((response) => {
if(response.ok) {
// Success. Dispatch some actions
} else {
// Failed call. Dispatch some other actions
}
})
}
这没什么问题,别担心。即使您在 http 库中处理此错误,浏览器仍会在控制台中显示 http 错误。
正如@Dherik 所说,这是浏览器的默认功能。
但是如果您担心控制台中显示的 HTTP 错误,那么您可以通过更改 API.
来处理此错误,使其不显示在控制台中因此,将您的错误流程重新设计为 return 状态代码 2XX,并在响应正文中包含错误代码和消息,并像现在一样处理它。