我使用vue,vue-router和firebase来构建我的项目。
有一些路由器逻辑需要用户身份验证
const onAuth = () => {
return new Promise(() => {
firebase.auth().onAuthStateChanged((user) => {
if (user) {
resolve(true)
} else {
resolve(false)
}
}
}
}
router.beforeEach((transition) => {
if (transition.to.auth) {
return onAuth()
} else {
transition.next()
}
}
如果路由器需要auth,那么将等待onAuth
解决。
但访问路由器需要多次auth,将添加多个新的监听器以进行身份验证更改