【发布时间】:2013-08-15 08:30:08
【问题描述】:
假设您有一个可观察的回放,通过Replay overloads 之一创建。
是否存在Replay 的变体,它使用一种方法生成可观察到的重播,让我可以从重播缓冲区中删除项目/消息/元素?
我需要 replay observable 以避免竞争条件:两个 observable A 和 B 产生相关消息。如果A 生成消息m,则B 可能会跟随相应消息m'(但这是可选的)。
为了从B 的所有消息中过滤掉m',A 的订阅者向B 注册订阅者(针对确切的m' 消息进行过滤),因为仅当接收到m该程序是否能够预测可能传入的m' 的外观。
但是,有时m' 甚至在A 的订阅者计划运行之前就已到达,这意味着尚未注册m' 的订阅者。我可以通过将 B 包装为重播 observable 来解决这个问题,但我希望能够从重播缓冲区中清理已处理的消息,因为我知道 B 的每条消息都将由一个订阅者处理。
【问题讨论】:
标签: buffer system.reactive replay