[英]How to return last emitted value from observable with late subscribe
請考慮以下代碼段
const interval$ = Rx.Observable.interval(1000).share();
interval$.subscribe(x=> console.log('a=' + a));
setTimeout(() => {
interval$.subscribe(x=> console.log('b=' + b));
}, 1500);
我需要延遲訂閱者也返回最后一個發射值(在這種情況下為0)。 如何用RxJS完成(注意我需要一個共享的observable)
要創建一個共享的observable,將最后一次發射的值重放給后期訂閱者,請替換:
const interval$ = Rx.Observable
.interval(1000)
.share();
有:
const interval$ = Rx.Observable
.interval(1000)
.publishReplay(1)
.refCount();
share
類似於.publish().refCount()
,因此如果要重放最后發出的值,可以使用publishReplay
代替。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.