在try / catch中包装whatwg-fetch

时间:2017-01-13 00:08:00

标签: javascript fetch

当我使用whatwg-fetch从客户端向Node服务器发出请求时,我得到非200响应,我希望能够catch出现该错误并返回自定义响应。

例如:

const makeRequest = (endpoint) => {
    try {
        return fetch(`/api${endpoint}`, requestConfig)
            .catch(e => console.warn(e))
            .then(res => res.json())
            .catch(e => console.warn(e))
    } catch(e) {
        // Never logs...
        console.warn(e);
    }
}

例如,当我得到502或404时,我仍然在控制台中得到一个console.error ......

enter image description here

在Chrome控制台中,当我点击查看错误来源时: enter image description here

我不明白为什么,如果fetch()导致错误,为什么将它包装在try / catch中却没有捕获到这个错误?

对于非200响应,我如何catch来自fetch()的错误?

0 个答案:

没有答案