我很难找到一种合适的方法来构成一个可观察对象,该对象将从给定的冷可观察A发出所有项目,并且一旦完成,就继续使用热可观察B

这是我的特定用例:我有一个数据收集器,该数据收集器实时将数据追加到仅追加数据库(事件流)中。当请求到达流所有事件流的请求时,它有望开始流传输数据库中的所有内容,并且一旦数据库中没有更多数据,它就将开始流传输任何收集器流……正如您所看到的,两者都是可观察的。

我是反应式编程的新手,因此我的问题可能有点抽象。任何帮助表示赞赏。

这是此行为的图表:

B ----B---B---B----B--B---B---B---X------>
                   |  |   |   |   |
                   |  |   |   |   |
R --A---A--A----?--B--B---B---B---X------>
    |   |  |    |
    |   |  |    |
A --A---A--A----X------------------------>

这里R是可观察到的结果,A是冷的结果,B是热的结果。 RB终止。

最佳答案

如果B很热,那么A.concat(B)就应该起作用,因为B仅在A完成时才被订阅。

09-26 08:47