我有一个 Angular 管道,它在导航到特定路线之前检查用户是否是高级会员。
高级后卫:
return this.afAuth.authState.pipe(
take(1),
switchMap(user => {
return this.db.getUserWithKey(user.uid)
}),
map((profile) => {
if (profile.length && profile[0].premium) {
return true
} else {
location.href = "https://url.com";
return false;
}
})
)
但是由于没有登录用户,我总是在控制台中遇到很多错误user is null
。我如何检查用户之前是否登录过?
以下不起作用:
return this.afAuth.authState.pipe(
take(1),
switchMap(user => {
if (!user || user == null) {
return false;
}
return this.db.getUserWithKey(user.uid)
}),
map((profile) => {
if (profile.length && profile[0].premium) {
return true
} else {
location.href = "https://url.com";
return false;
}
})
)
你有别的想法吗?提前致谢!