在fetch

时间:2017-01-03 00:32:30

标签: redux fetch react-redux

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

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

但如果您担心控制台中显示的HTTP错误,那么您可以通过更改API来处理此错误,以便不在控制台中显示。

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