如何使用延迟订阅从observable返回最后一次发出的值

时间:2017-03-09 21:06:01

标签: javascript rxjs

请考虑以下代码段

dstat

JSFIDDLE

我需要后期订阅者也返回最后一个发射值(在这种情况下为0)。如何用RxJS完成(注意我需要一个共享的observable)

1 个答案:

答案 0 :(得分:3)

要创建一个共享的observable,将最后一次发射的值重放给后期订阅者,请替换:

const interval$ = Rx.Observable
  .interval(1000)
  .share();

使用:

const interval$ = Rx.Observable
  .interval(1000)
  .publishReplay(1)
  .refCount();

share.publish().refCount()类似,因此如果您想重播上次发布的值,可以使用publishReplay代替。