首页 > 解决方案 > 完成后停止 hot Observable 共享值

问题描述

我有一个用于多播的热点ObservableshareReplay(1)但如果它Observable是完整的并且它订阅它会发出最后一个值。我需要它不发出任何东西。

标签: rxjsobservable

解决方案


而不是shareReplay(1),您应该能够使用它来代替:

share({
  connector: () => new ReplaySubject(1),
  resetOnError: true,
  resetOnComplete: true,
  resetOnRefCountZero: false
})

resetOnRefCountZero: false只是确保即使所有订阅者在任何时候都取消订阅,您仍然可以再次订阅(并接收共享值)。

注意:无论如何默认为“true”,但为了清楚起见,我添加了resetOnErrorresetOnComplete


推荐阅读