假设我有一个热门的可观察对象,它每秒钟发布连续的数字,持续5分钟:
1,2,…n, oncomplete
在某个时间点,在热可观察对象启动之后,但在它完成之前,我订阅它,直到它完成。
我得到数字:x, x+1, x+2,…n。
我想把接收到的值转换成一个冷的可观察对象。有专门的操作员吗?
我知道我可以用
Observable.Create(observer => hotObservable.Subscribe(onNext, onCompleted, onError);
但是我确定我遗漏了一个Rx扩展方法,它就是
使用"重放主题"。
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