3

我很难找到合适的方法来组成一个 observable ,它将从给定的冷 observable 中发出所有项目,A并且一旦它完成就继续使用 hot observable B

这是我的特定用例:我有一个数据收集器,它实时将数据附加到仅附加数据库(事件流)。当一个请求到达流所有事件流时,它预计会开始从数据库中流式传输所有内容,并且一旦数据库没有更多数据,它就会开始流式传输任何收集器流......正如您所看到的那样,两者都可以作为 observables 使用。

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

这是此行为的图表:

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是热的。R以 终止B

4

2 回答 2

3

如果 B 很热,那么就A.concat(B)应该可以工作,因为只有在 A 完成时 B 才会被订阅。

于 2015-12-24T11:57:20.530 回答
0

我怀疑你需要的是 2 个队列,而不是 observables。

QueueA 具有优先级,而 QueueB 仅在 QueueA 获得退出/消息结束信号后才被处理。

您认为这种情况可能合适吗?

于 2015-12-24T11:21:18.603 回答