DRN*_*RNR 6 observable rxjs behaviorsubject angular
我知道我无法给出BehaviorSubjectObservable 值,但我需要一种方法来解决这个问题。在应用程序初始化时,我正在获取当前用户(如果存在),并且我需要给出该BehaviorSubject潜在值。所以我的服务代码如下所示:
private user = new BehaviorSubject<User>(this.getUser());
public user$ = this.user.asObservable();
getUser(): User {
// does obviously not work!
return this.apiService.getUser()
.map(data => {
if(data) {
return data;
}
// do something else
})
}
Run Code Online (Sandbox Code Playgroud)
那么是否有一些神奇的 rxjs 运算符可以解决这个问题,或者其他一些可能性?
提前致谢!
我会这样做
private user = new BehaviorSubject<User>(null);
public user$ = this.user.asObservable();
constructor() {
this.getUser();
}
getUser(): User {
// does obviously not work!
return this.apiService.getUser()
.subscribe(data => {
if(!!data) {
this.user.next(data); // <<== added
}
// do something else
})
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17006 次 |
| 最近记录: |