如何实现从一个IObserver到另一个IObserver的原子切换?
|
我有一个
IObservable<byte[]>
,可以通过一些中间步骤将其转换为IObservable<XDocument>
:
var observedXDocuments =
from b in observedBytes
// Lot of intermediate steps to transform byte arrays into XDocuments
select xDoc;
在某个时间点,我对观察到的ѭ3感兴趣,所以我订阅了IObserver<XDocument>
。在稍后的时间点上,我想再认购一个IObserver<XDocument>
并处置旧的。
我如何在一次原子操作中做到这一点而又不丢失观察到的“ 3”?我可以做类似的事情:
oldObserver.Dispose();
observedXDocuments.Subscribe(newObserver);
不过我担心,在这两个电话之间,我可能会损失3英镑。如果我切换两个电话,可能会两次收到相同的XDocument
。
没有找到相关结果
已邀请:
2 个回复
缔恃钨
粳饶瓢部
为
做准备时不会发生观察者变化。 伪代码如何做到这一点(不是睾丸)
编辑:用
我解释你的观点
您已经为
注册了一个事件处理程序,该事件处理程序从
创建了
,然后调用 会触发ѭ1事件的事物。
表示触发跟进事件的代码