【问题标题】:Handling failed API call in fetch在 fetch 中处理失败的 API 调用
【发布时间】:2017-01-03 00:32:30
【问题描述】:

我有以下代码进行 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
            }
        })
}

【问题讨论】:

标签: redux fetch react-redux


【解决方案1】:

这没什么问题,不用担心。即使您在 http 库中处理此错误,浏览器仍会在控制台中显示 http 错误。

【讨论】:

    【解决方案2】:

    正如@Dherik 所说,这是浏览器的默认功能。

    但如果您担心控制台中显示的 HTTP 错误,则可以通过更改 API 来处理此问题,使其不显示在控制台中。

    因此,重新设计您的错误流程以返回状态代码 2XX,并在响应正文中包含错误代码和消息,并像现在一样处理它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-05-10
      • 2020-06-10
      • 1970-01-01
      • 1970-01-01
      • 2019-12-18
      • 1970-01-01
      • 2018-10-09
      • 2017-07-07
      相关资源
      最近更新 更多