在 fetch() 调用中隐藏 401 console.error 在 Chrome 开发工具中获取 401

IT技术 javascript xmlhttprequest fetch-api
2021-03-21 10:38:35

我有一些代码,我可以在其中进行 fetch 调用。这利用了现代 chrome / firefox 中内置的 window.fetch api。

该代码有时会遇到 401:unauthorized 响应。这是正常的,我希望它被忽略,我可以通过代码流来做到这一点。但是,当我尝试运行 Chrome 时,它​​确实显示了难看的 console.error 消息。

我如何以编程方式防止此控制台错误显示在所有机器上的开发控制台中(即,没有 chrome 开发过滤器或 tampermonkey 类型插件)。

这是一个可以使用的示例:

fetch("http://httpstat.us/401", {requiredStatus: 'ok'})
    .then(function() {
        console.log("pass!");
    }).catch(function() {
        console.log("fail!");
    });

在此处输入图片说明

1个回答

不幸的是,这无法完成,因为控制台中的此类消息是由 chrome 本身打印的。压制这种类型的信息已经争论了多年,但共识似乎是这种信息是可取的 -请参阅此讨论

以防万一您感兴趣:根据此评论,我们看到此消息的原因是评估了对资源检索请求的响应,并且在上下文级别分派了消息。

本质上,chrome 的编写方式不允许我们改变这种效果,因此我们有错误消息。

我已经给了它@szymek 但你的回答真的很有趣而且 szymek 也没有提出复选标记:)
2021-05-09 10:38:35
@joepin 链接已死。:(
2021-05-09 10:38:35
为了好玩,我找到了写这条消息的代码行:cs.chromium.org/chromium/src/third_party/WebKit/Source/core/...
2021-05-10 10:38:35