【发布时间】:2017-05-11 02:44:48
【问题描述】:
我有:
- 作为热可观察的源,在某些时候会发出一个项目 并完成
- 多个观察者不断订阅/取消订阅 到/从源(但最多可以同时订阅一个 时间)
我想将源转换为可观察对象,以确保观察者只消费一次该项目。稍后订阅的观察者应该只被通知该项目已被消费(完成事件)。
预期行为:
1) 在观察者订阅之前从源发射
--O-|------> (source)
-----^-O-|-> (observer)
2) 观察者订阅后从源发射
------O-|-> (source)
--^---O-|-> (observer)
3) 消费后订阅
-O-|-------> (source)
-^-O-|-----> (observer1 - consumes the item)
------^-|--> (observer2 - is notified that the item has been consumed)
实现这种行为的最简单、最优雅的方法是什么?
【问题讨论】:
标签: rx-java