【问题标题】:How do you call observable that pushes values on subscribe()?你如何调用在 subscribe() 上推送值的 observable?
【发布时间】:2016-10-30 10:43:10
【问题描述】:

我找不到合适的术语来形容这种事情。 因此,如果当您在其上调用 subscribe() 时 observable 推送值, 例如它有 startWith() 或者它被设置为 value/list/range 或者它会重播——你怎么称呼它?

【问题讨论】:

  • 你指的是hot and cold observables吗?
  • 订阅时所有的 observables 都会推送值(至少零个或多个值)。
  • @ibebbs 我不这么认为。 davesexton.com/blog/post/Hot-and-Cold-Observables.aspx replay 并不是严格意义上的冷或热,也不是每一次冷都会推动价值。
  • @Enigmativity 所以我对“一个或多个”的名称很感兴趣)
  • @Pavelfljōt - “一个或多个”是什么意思?

标签: rx-java system.reactive rxjs reactive-programming observable


【解决方案1】:

BehaviourSubject (http://www.introtorx.com/content/v1.0.10621.0/02_KeyTypes.html#BehaviorSubject) 将在订阅时立即推送一个值。这是因为它总是会缓存一个值以供使用。

另一种选择是Replay(1),它将立即推送一个值如果基础序列曾经推送过任何值。 http://www.introtorx.com/content/v1.0.10621.0/14_HotAndColdObservables.html#OtherConnectables

【讨论】:

  • 谢谢,但这不是相关信息。问题是关于术语的。 “如果我订阅了 observable 并且它立即推送了至少一个值 - 这是 ??> observable。”
  • 答案是“这是一个 BehaviourSubject”。
  • 好吧,再想想,“这有 BehaviourSubject 语义”可能更准确?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-12
  • 1970-01-01
  • 2012-10-09
相关资源
最近更新 更多