gpt4 book ai didi

vue.js - 在 vuejs 中使用 axios 进行全局错误处理

转载 作者:行者123 更新时间:2023-12-04 17:45:26 27 4
gpt4 key购买 nike

我在 vuejs 中使用 axios,在 axios 调用时遇到全局错误处理问题。我正在尝试如下,它不仅需要用户注销,而且还会在 axios 调用后执行代码块。 如果发生错误,如何阻止执行 axios 调用 promise 代码部分。

export default {
created() {
var self = this;
if (self.$route.meta.requiresAuth) {
axios.interceptors.response.use(
function(response) {
return response;
},
function(error) {
if (error.response.status == 401) {
self.$toaster.error("ERROR: Invalid token detected");
self.logout();
}
}
);
}
},
methods: {
logout() {
this.$router.push({ name: "login" });
}
}
}

someFunction() {
var self = this;
axios
.post(
"url/to/api",
{},
{
headers: {
Authorization: "authtoken here"
}
}
)
.then(response => {
alert("success");
otherFunction();
})
.catch(error => {
console.log(error);
});
}

最佳答案

您需要从错误拦截器中引发新错误。

axios.interceptors.response.use(
function(response) {
return response;
},
function(error) {
if (error.response.status == 401) {
self.$toaster.error("ERROR: Invalid token detected");
self.logout();
}
throw new Error('Invalid token detected')
}
);
}

关于vue.js - 在 vuejs 中使用 axios 进行全局错误处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52282828/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com