[英]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.