【问题标题】:Reactive extension method to convert a hot observable interval to a cold observable将热可观察区间转换为冷可观察区间的反应式扩展方法
【发布时间】:2011-09-19 19:16:43
【问题描述】:

假设我有一个热门的 observable,它每秒发布连续的数字,持续 5 分钟:

1, 2, ... n, 已完成

在某个时间点,hot observable 启动之后,但在它完成之前,我订阅它直到它完成。

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

我想将收到的值转换为冷可观察值。 有专门的操作符吗?

我知道我可以使用

Observable.Create(observer => hotObservable.Subscribe(onNext, onCompleted, onError);

但我确定我缺少一个 Rx 扩展方法,它就是这样做的

【问题讨论】:

    标签: c# system.reactive


    【解决方案1】:

    只需使用重播主题。

    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 
    

    【讨论】:

    • 正是我想要的:D
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多