Nuxt:Axios拦截器-未捕获(承诺)

问题描述 投票:0回答:1

我正在使用以下代码块来检查是否从API返回了401(未经授权)错误,在这种情况下,这意味着用户令牌已过期,因此他们必须重新登录。

axios.interceptors.response.use(function (response) {
    return response
}, function (error) {
    if(error.response.status === 401) {
        localStorage.clear();
        window.location = '/'
    }
    return Promise.reject(error)
})

这成功地将用户重定向到应用程序的登录页面,尽管控制台中出现错误,但似乎没有破坏任何内容:

enter image description here

我不确定如何解决此问题。

javascript nuxt.js nuxt
1个回答
0
投票

这是承诺被拒绝的预期行为。此错误表明诺言以错误(拒绝)而告终,而您并未进行处理(抓住)。您可以添加.catch()或用try catch块将其包围。https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/catch

© www.soinside.com 2019 - 2024. All rights reserved.