我想创建一个方法getSelectedUser,只有当私有字段存在时才返回Observable(未定义)。
private user : User
init() {
// user = loadingUser...
}
getSelectedUser(): Observable<User> {
// return ???
}
目标是其他组件可以订阅此可观察对象并在加载后接收用户。
有人知道如何实现这个目标吗?
答案 0 :(得分:1)
然后将用户定义为可观察的:
private user: Subject<User> = new ReplaySubject<User>(1); // ensure that new registered component gets the last loaded user.
getSelectedUser(): Observable<User> {
return user.asObservable();
}
然后在用户准备就绪时更新用户:
private someUserLoadingFunction(){
... retrieve user logic -> currentUser...
this.user.next(currentUser);
}