捕获Javascript提取失败,Cloudflare 429缺少CORS标头

时间:2019-12-21 19:42:15

标签: javascript cors fetch fetch-api

我正在使用Fetch在javascript中提出跨源请求

Cloudflare(代理我的流量)有时会返回429(速率限制)。

返回429时,它们不包含Access-Control-Allow-Origin标头。

所以现在我的fetchmode: 'cors'失败了,并抛出了TypeError

与网络错误等其他原因引发的情况相比,我该如何捕捉?

screenshot

我的代码如下:

    try {
        let response = await fetch(uri, config); // this throws
        if (!response.ok) { // this line does not run
            throw response.statusText;
        }
        let json = await response.json();
        return json;
    } catch (e) {
        console.log(e.message); // "Failed to fetch"
    }

检查MDN docs时,我不确定是否可以将这429个错误与其他网络错误分开检测吗?

  

当遇到网络错误或在服务器端错误配置CORS时,fetch()承诺将拒绝并返回TypeError,尽管这通常意味着权限问题或类似情况

response

0 个答案:

没有答案