访问 RxJS 主题或可观察量的当前值
RxJS 主题和可观察量本身并不保存当前值。当一个值被发出时,它只会暂时传递给订阅者。
但是,在当前值至关重要的情况下,请考虑使用BehaviorSubject,这是一个为此目的而设计的专门主题。 BehaviourSubject 维护最新发出的值,立即将其提供给新订阅者,并提供 getValue() 方法来检索当前值。
示例:
在我们的 Angular 服务中,让我们用BehaviorSubject替换Subject:
<code class="typescript">private _isLoggedInSource = new BehaviorSubject<boolean>(false); isLoggedIn = this._isLoggedInSource.asObservable();</code>
现在,我们可以使用getValue()访问当前值:
<code class="typescript">import { SessionStorage } from './session-storage.service'; import { Component, OnInit } from '@angular/core'; @Component({ selector: 'my-component', templateUrl: './my-component.html' }) export class MyComponent implements OnInit { isLoggedIn: boolean; constructor(private sessionStorage: SessionStorage) { } ngOnInit() { this.isLoggedIn = this.sessionStorage.isLoggedIn.getValue(); } }</code>
以上是如何访问 RxJS 主题或可观察对象的当前值?的详细内容。更多信息请关注PHP中文网其他相关文章!