【发布时间】:2018-10-27 09:29:24
【问题描述】:
我正朝着这个方向前进,因为我有另一个警卫正在验证先前存储的令牌上的用户。这就是我在以前版本的 rxjs 中所做的,现在在最新版本中你无法映射到这个主题。
canActivate(next: ActivatedRouteSnapshot,
state: RouterStateSnapshot): Observable<boolean> | Promise<boolean> | boolean {
return this.authservice.behaviorsubject().map(x => {
if (x) {
return true;
} else {
return false;
}
})
}
我需要任何指导如何让这个东西工作。我已经尝试过这样的处理,但由于从未订阅过它,因此不会返回任何内容(当我 console.log 时,它也不是 Observable,它是 AnonymusSubject)
canActivate(next: ActivatedRouteSnapshot,
state: RouterStateSnapshot): Observable<boolean> | Promise<boolean> | boolean {
return this.authservice.behaviorsubject().pipe(
map(x => {
if (x) {
return true;
} else {
return false;
}
})
)
}
还尝试使用 Observable.create() 将其转换为可观察的,但不起作用。 我知道我错过了一些东西。 嘻嘻:)
【问题讨论】:
-
您好,您似乎没有订阅它以恢复您的价值
-
@t3__rry 你不需要订阅,看看允许的返回类型。或者看看这个帖子:stackoverflow.com/questions/37948068/…
标签: javascript angular typescript rxjs behaviorsubject