举个栗子:如果在同一函数中同时发送2次请求,获取用户信息和菜单列表,但是此时如果token失效了,会触发响应拦截器里面处理token失效status为401的代码,并跳转到登录页面,这时就会发生两次跳转到登录页,在登录页再跳转一次登录页,vue-router内置的一个错就会被触发
解决办法:在router/index.js里面
// 把下面的代码粘贴到路由模块中对应的位置,即可防止路由报错的问题
import VueRouter from 'vue-router'
const originalPush = VueRouter.prototype.push
VueRouter.prototype.push = function push (location) {
return originalPush.call(this, location).catch(err => err)
}
Vue.use(VueRouter)