如何获取RxJS Subject或Observable的当前值?

我有一个Angular 2服务:

import {Storage} from './storage';

import {Injectable} from 'angular2/core';

import {Subject} from 'rxjs/Subject';

@Injectable()

export class SessionStorage extends Storage {

private _isLoggedInSource = new Subject<boolean>();

isLoggedIn = this._isLoggedInSource.asObservable();

constructor() {

super('session');

}

setIsLoggedIn(value: boolean) {

this.setItem('_isLoggedIn', value, () => {

this._isLoggedInSource.next(value);

});

}

}

一切正常。但是我还有另一个不需要订阅的组件,它只需要在某个时间点获取isLoggedIn的当前值即可。我怎样才能做到这一点?

回答:

一个SubjectObservable没有的电流值。发出值时,将其传递给订户并Observable使用它完成。

如果要使用当前值,请使用BehaviorSubject专门用于该目的的值。BehaviorSubject保留最后发出的值,并立即将其发送给新订户。

它还具有一种getValue()获取当前值的方法。

以上是 如何获取RxJS Subject或Observable的当前值? 的全部内容, 来源链接: utcz.com/qa/425368.html

回到顶部