我很难找到合适的方法来编写一个observable,它会从给定的冷可观察A
中发出所有项目,并且一旦完成继续使用热可观察B
。
这是我的具体用例:我有一个数据收集器,它实时将数据附加到仅附加数据库(事件流)。当一个请求到达流式传输所有事件流时,它应该从数据库开始流式传输,一旦数据库没有更多数据,它就会开始流式传输任何收集器流......正如你所看到的那样,它们都是可观察的。 / p>
我是反应式编程的新手,因此我的问题可能有点抽象。任何帮助表示赞赏。
以下是此行为的示意图:
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
以<h2 class="big caps" style="text-align:left">WHAT WILL YOU LEARN?</h2>
终止。
答案 0 :(得分:3)
如果B很热,那么只需要A.concat(B)
就可以了,因为B只会在A完成时订阅。
答案 1 :(得分:0)
我怀疑你需要的是两个队列,而不是可观察的队列。
QueueA具有优先级,QueueB仅在QueueA获得退出/结束消息信号时处理。
你认为这种情况可能适合吗?