console.log 中出现 Axios Stop 404 错误

Posted

技术标签:

【中文标题】console.log 中出现 Axios Stop 404 错误【英文标题】:Axios Stop 404 error appearing in the console.log 【发布时间】:2019-12-13 18:41:20 【问题描述】:

我正在通过 Axios 检查资源是否存在,如果不存在则返回 404 是正常的。

但是,当返回 404 时,它会显示在控制台中。我试图捕捉错误,但这并不能阻止它被 chrome 显示。

        axios.get('/api/user/checkin').then((response) => 
            Vue.set(UserStore,'checkin', response.data)
            this.loading = false;
        ).catch((error) =>)

我正在检查用户是否被检查,如果他们是,我将返回他们签入时间的记录以及网站上的一些详细信息。

如果不是,那么我没有什么可返回的,所以我返回一个 404。我可以返回一个空白记录,但这确实让人感到非常放松。

【问题讨论】:

尝试用 try/catch 包装你的代码 浏览器自然会提示网络请求错误。 我相信 Chrome 控制台中有一个过滤器可以过滤掉任何Network Requests,您可以取消选中它,它会停止向您显示此内容。 【参考方案1】:

这是 chrome 行为。见this 和also this。 您可以按照this answer 的建议在catch 中执行console.clear()

axios.get('/api/user/checkin')
  .then((response) => 
    Vue.set(UserStore,'checkin', response.data)
    this.loading = false;
  )
  .catch(() => console.clear()) // this will clear any console errors caused by this request

或简称.catch(console.clear)

但请注意,您将丢失任何以前的控制台日志

编辑:

您可能希望仅在收到 404 响应时清除控制台。

axios.get('/api/user/checkin')
  .then((response) => 
     Vue.set(UserStore,'checkin', response.data)
     this.loading = false;
  )
  .catch((error) => 
    if(error.response && error.response.status === 404) 
      console.clear();
    
  )

请参阅handling errors in Axios 了解更多信息。

【讨论】:

【参考方案2】:

而不是执行console.clear,这会清除您的整个控制台,从而难以显示您实际需要的日志。尝试检查 Chrome 控制台选项中的 Hide Network 选项。它将为您隐藏所有网络错误,这可能是控制台中唯一从网络显示的内容。

例如

未选中:

检查:

【讨论】:

以上是关于console.log 中出现 Axios Stop 404 错误的主要内容,如果未能解决你的问题,请参考以下文章

使用axios时新数组poolList上没有数据,但是console.log还有数据

数据未使用 axios 渲染/console.log,使用来自 mongoDB 的数据

Axios - 如何读取 JSON 响应?

axios个人总结

Axios

axios怎么发送xml数据