一种将热可观察间隔转换为冷可观察序列的响应式扩展方法

4
假设我有一个热可观察对象,每秒发布连续的数字,持续5分钟:
1、2、... n、OnCompleted
在热可观察对象已启动但尚未完成的某个时间点,我订阅它直到它完成。
我得到的数字是:x、x+1、x+2、...n。
我想将收到的值转换为冷可观察对象。是否有特殊的运算符可以实现这一点?
我知道我可以简单地使用
Observable.Create(observer => hotObservable.Subscribe(onNext, onCompleted, onError);

但我相信肯定有我所错过的 Rx 扩展方法,可以实现这一点。

1个回答

8
只需使用“重播主题”。
ReplaySubject<int> sub = new ReplaySubject<int>();
hotObservable.Subscribe(sub);
//Now any one can subscribe to sub and it will get all items that hot observable sent to replay subject 

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接