在chrome dev工具中隐藏401 console.error,在fetch()调用中获取401

Thi*_*obo 27 javascript xmlhttprequest fetch-api

我有一些代码在哪里进行提取调用.这利用了现代chrome/firefox中内置的window.fetch api.

代码有时会遇到401:未经授权的响应.这是正常的,我希望它被忽略,我可以用代码的流程做.但是,当我尝试运行它时,Chrome确实会显示一个难看的console.error消息.

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

这是一个可以解决的样本:

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

在此输入图像描述

joe*_*pin 33

不幸的是,这是不可能的,因为控制台中的这种类型的消息是由chrome本身打印的.多年来一直在争论压制这种类型的信息,但似乎共识似乎是这条信息是可取的 - 请参阅此讨论.

如果您感兴趣:根据此评论,我们看到此消息的原因是评估对资源检索请求的响应,并在上下文级别调度消息.

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

  • 有趣的是,我找到了写此消息的代码行:https://cs.chromium.org/chromium/src/third_party/WebKit/Source/core/loader/FrameFetchContext.cpp?l=1073 (3认同)
  • @joepin 链接已失效。:( (2认同)