0

想象一下,您有一个通过Replay重载之一创建的可观察重播。是否有一种变体Replay可以通过一种方法产生可观察到的重播,该方法可以让我从重播缓冲区中删除项目/消息/元素?

我需要 replay observable 以避免竞争条件:两个 observablesAB产生相关消息。如果A产生一条消息m,那么B可能会跟随一条相应的消息m'(但这是可选的)。
为了m'从所有B的消息中过滤掉,订阅者A注册一个订阅者B(过滤确切的m'消息),因为只有当m接收到时,程序才能预测潜在传入的m'样子。

但是,有时m'甚至在订阅者A计划运行之前就到达了,这意味着还没有订阅者m'注册。我可以通过包装B为可观察的重播来解决这个问题,但我希望能够从重播缓冲区中清理已处理的消息,因为我知道每条B消息都将由一个订阅者处理。

4

1 回答 1

0
var result = foo.Replay().Where(x => x != skip);
于 2013-08-16T03:26:03.997 回答