想象一下,您有一个通过Replay
重载之一创建的可观察重播。是否有一种变体Replay
可以通过一种方法产生可观察到的重播,该方法可以让我从重播缓冲区中删除项目/消息/元素?
我需要 replay observable 以避免竞争条件:两个 observablesA
并B
产生相关消息。如果A
产生一条消息m
,那么B
可能会跟随一条相应的消息m'
(但这是可选的)。
为了m'
从所有B
的消息中过滤掉,订阅者A
注册一个订阅者B
(过滤确切的m'
消息),因为只有当m
接收到时,程序才能预测潜在传入的m'
样子。
但是,有时m'
甚至在订阅者A
计划运行之前就到达了,这意味着还没有订阅者m'
注册。我可以通过包装B
为可观察的重播来解决这个问题,但我希望能够从重播缓冲区中清理已处理的消息,因为我知道每条B
消息都将由一个订阅者处理。