我见过人们建议使用BehaviorSubject来获取getValue()的当前值。然而,当我在我的对象数组中使用它时,所有获得控制台记录的是“Observable {_isScalar:false,source:Observable,operator:MapOperator}”,下拉箭头指向除了我需要的数据之外的所有内容。我觉得我错过了一些东西,但在寻找了几个小时后,我仍然迷失了。我错过了什么?
示例代码:
defaultData = this.http.get(this.dataUrl);
defaultProducts = new BehaviorSubject<any>(this.defaultData);
products = this.defaultProducts.asObservable();
getData() {
let test = this.defaultProducts.getValue();
console.log(test);
return this.http.get(this.dataUrl);
}
答案 0 :(得分:0)
我看到这篇文章关于使用RXJS从可观察量中提取值。我仍然想弄明白。
canActivate(
next: ActivatedRouteSnapshot,
state: RouterStateSnapshot): Observable<boolean> | boolean {
return this.auth.user
.take(1)
.map(user => !!user)
.do(loggedIn => {
if (!loggedIn) {
console.log('access denied')
this.router.navigate(['/login']);
}
})
}
}