Rx java 确保热可观察物发出的所有物品仅消耗一次
我有: 在某个点发射一个项目的热可观测源 并完成 多个观察者持续订阅/取消订阅 到/从源,但最多可以同时订阅一个 时间 我想将源转换为一个可观察的对象,以确保该项被观察者准确地消费一次。稍后订阅的观察者只应被通知该项目已在完成事件中被消耗 预期行为: 1观察者订阅之前源的发射Rx java 确保热可观察物发出的所有物品仅消耗一次,rx-java,Rx Java,我有: 在某个点发射一个项目的热可观测源 并完成 多个观察者持续订阅/取消订阅 到/从源,但最多可以同时订阅一个 时间 我想将源转换为一个可观察的对象,以确保该项被观察者准确地消费一次。稍后订阅的观察者只应被通知该项目已在完成事件中被消耗 预期行为: 1观察者订阅之前源的发射 --O-|------> (source) -----^-O-|-> (observer) ------O-|-> (source) --^---O-|-> (observer) 2
--O-|------> (source)
-----^-O-|-> (observer)
------O-|-> (source)
--^---O-|-> (observer)
2观察者订阅后源的发射
--O-|------> (source)
-----^-O-|-> (observer)
------O-|-> (source)
--^---O-|-> (observer)
3项目消费后的订阅
-O-|-------> (source)
-^-O-|-----> (observer1 - consumes the item)
------^-|--> (observer2 - is notified that the item has been consumed)
实现这种行为最简单、最优雅的方法是什么?使用行为主体。这准确地描述了它的行为。哦,似乎我误解了行为主体的工作原理。你说得对,它完美地解决了问题!谢谢