可以举一个异常的实例吗
来源:8-5 路由和权限校验原理讲解(下)
会游泳的兔子先森
2020-03-08
实际业务场景中什么情况会触发这钟异常情况呢
写回答
1回答
-
Sam
2020-03-09
您好,首先我们看下异常处理部分的源码:
try { const { roles } = await store.dispatch('user/getInfo') const accessRoutes = await store.dispatch('permission/generateRoutes', roles) router.addRoutes(accessRoutes) next({ ...to, replace: true }) } catch (error) { await store.dispatch('user/resetToken') Message.error(error || 'Has Error') next(`/login?redirect=${to.path}`) NProgress.done() }
这里异常的可能性有:
1、store.dispatch('user/getInfo') 会请求获取用户信息接口,该接口有可能失败,从而导致 roles 获取失败,此时就走到异常流程
2、store.dispatch('permission/generateRoutes', roles) 生成动态路由失败,也有可能会触发异常,generateRoutes 这个方法的逻辑还是比较复杂的,很容易造成异常
这里做异常处理主要是为了兼容各种意外,从而导致用户看到白屏
00
相似问题