老师,接口登录超时的时候,一直在转圈,怎么判断能让转圈消失,然后给出提示呢

来源:8-5 通用错误处理

雷神课

2021-03-29

const onFormSubmit = (result: boolean) => {
if (result) {
const payload = {
account: accountVal.value,
password: passwordVal.value
};
store
.dispatch("loginAndFetch", payload)
.then(data => {
createMessage("登录成功 1秒后跳转", "success");
setTimeout(() => {
router.push("/");
}, 1000);
})
.catch(error => {
console.log("login error:" + JSON.stringify(error));
});
} else {
loginForm.value.clearInputs();
}
};

老师上面是我的代码逻辑,我设置了超时的时间,但是catch 获取到的内容是空

console.log("login error:" + JSON.stringify(error)); 

下面是控制台打印出来的

10:17:07.681 Login.vue?e144:49 login error:{}


写回答

1回答

张轩

2021-03-30

同学你好 可以设置 axios 的最大 timeout

axios.defaults.timeout = 2500
// 2.5 秒后没反应自动 abort
然后你就可以在 catch 中拿到这个错误


0
3
雷神课
回复
张轩
谢谢,解决了
2021-04-14
共3条回复

Vue3 + TS 仿知乎专栏企业级项目

带你完成前后端分离复杂项目,率先掌握 vue3 造轮子技能

3211 学习 · 2364 问题

查看课程