uni-simple-router icon indicating copy to clipboard operation
uni-simple-router copied to clipboard

全局守卫的执行顺序2.0.8版本跟2.0.7版本的不一致

Open xingyuefa opened this issue 3 years ago • 1 comments

问题描述 进过使用两个版本的开发过程中发现,2.0.7正式版的 全局守卫会比启动页的生命周期先执行,而2.0.8的beta版本,全局守卫会比启动页面的生命周期后执行,我现在不知道到底那个是有问题的!

复现步骤 2.0.7版本的router.beforeEach中的回调函数中会比启动页的生命周期先执行,做完异步之后next之后,页面的生命周期才会开始执行,而2.0.8beta版本中的router.beforeEach中的表现则相反,加载启动页面,先执行了页面的生命周期,后执行了router.beforeEach中的异步,不知道是否是存在问题的呢?

因为我在没有改变业务代码的前提下,两个版本的插件都测试了一遍,确实有一个先后顺序不一致的问题,可能我描述的有点不清晰,麻烦作者可以自己亲自测一下

代码无非就是在里面做了一次登陆操作

router.beforeEach((to, from, next) => {
	if(!store.state.loginInfo?.userId){
		store.dispatch("LoginByCode").then(() => {
			next();
		})
	}else{
		next();
	}
});

// 而页面无非就是一个简单的onload业务代码
onload(){
// 业务代码
}

两个版本测下来,确实不一致,麻烦作者看一下,谢谢

xingyuefa avatar Jul 19 '22 04:07 xingyuefa

已修复

SilurianYang avatar Jul 24 '22 08:07 SilurianYang