一个next()能造成多大的危害?亲身经历

本人在最近写的一个页面中遇到的一个问题
我的首页基本已经写完了.

然而在写路由守卫时,不知道遇到什么bug导致整个页面全部空白
这是错误的路由守卫代码

router.beforeEach(async(to,form,next)=>{
    const token = localStorage.getItem('token');
    // console.log(token)  
    const isLogin= !!token;
    // console.log(isLogin)  
    const data = await userInfo();
    // store.commit('chnageUserInfo',data.data);
    if(to.matched.some(item=>item.meta.login)){
        console.log('需要去登录')
        if(isLogin){  //登录成功
            if(data.error === 400){
                next({name:'login'});
                localStorage.removeItem('token');
                return;
            }
            if(to.name === 'login'){ //登录成功后依旧跳转到登录页的跳转到home
                next({name:'home'});
            }else{
                next()
            }
            return ;
        }
        if(!isLogin  && to.name=="login"){  //没有登录成功,但是去登录页面
            next()
        }
        if(!isLogin && to.name !=='login'){ //没有登录成功,也不去登录页面
            next({name:"login"})   //强制跳转到指定页面
        }
    }else{
        next()
    }
})
export default router;

失败网页: (这时候点击页面没有任何反应也没有报错)
在这里插入图片描述

网页页没有报错,我检查再三才发现少写一个next()
在这里插入图片描述
加上后网页又正常了
在这里插入图片描述
由此可见一个next()就能导致整个网页崩盘.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值