RxJs return 如果变量未定义则可观察

RxJs return Observable if variable not undefined

我想创建一个 getSelectedUser 方法,该方法 return 仅当存在私有字段(不是未定义的)时才为 Observable。

private user : User

init() {
   // user = loadingUser...
}

getSelectedUser(): Observable<User> {
    // return ???
}

目标是其他组件可以订阅此可观察对象并在加载后接收用户。

有人知道我该如何实现吗?

然后将用户定义为可观察对象:

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);
}