訪問 RxJS 主題或可觀察量的當前值
RxJS 主題和可觀察量本身並不保存當前值。當一個值被發出時,它只會暫時傳遞給訂閱者。
但是,在當前值至關重要的情況下,請考慮使用BehaviorSubject,這是一個為此目的而設計的專門主題。 BehaviourSubject 維護最新發出的值,立即提供給新訂閱者,並提供 getValue() 方法來檢索目前值。
範例:
在我們的Angular 服務中,讓我們用BehaviorSubjectectSubject:
<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中文網其他相關文章!