用于将热可观察区间转换为冷可观察区间的反应性扩展方法

Liv*_*foi 4 c# system.reactive

假设我有这个热门的观察者,每隔5分钟发布连续数字:

1,2,... n,OnCompleted

在某个时间点,在热观察已经开始之后,但在它完成之前,我订阅它直到它完成.

我得到数字:x,x + 1,x + 2,...... n.

我想将收到的值转换为冷可观察量.这有特殊的操作员吗?

我知道我可以使用

Observable.Create(observer => hotObservable.Subscribe(onNext, onCompleted, onError);
Run Code Online (Sandbox Code Playgroud)

但我确信有一种我缺少的Rx扩展方法,就是这样

Ank*_*kur 7

只需使用重播主题.

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 
Run Code Online (Sandbox Code Playgroud)