Observable 由冷和热 Observable 组成
Observable composed of cold and hot observables
我很难找到合适的方法来组成一个 Observable,它将从给定的冷 Observable A
中发出所有项目,并在其完成后立即继续热 Observable 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
是热的。 R
以 B
结束。
我怀疑您需要的是 2 个队列,而不是 observable。
QueueA 具有优先级,只有在 QueueA 收到 quit/end 消息信号后才会处理 QueueB。
你觉得这个场景可能合适吗?
如果 B 很热,那么简单地 A.concat(B)
应该可以工作,因为只有当 A 完成时才会订阅 B。
我很难找到合适的方法来组成一个 Observable,它将从给定的冷 Observable A
中发出所有项目,并在其完成后立即继续热 Observable 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
是热的。 R
以 B
结束。
我怀疑您需要的是 2 个队列,而不是 observable。
QueueA 具有优先级,只有在 QueueA 收到 quit/end 消息信号后才会处理 QueueB。
你觉得这个场景可能合适吗?
如果 B 很热,那么简单地 A.concat(B)
应该可以工作,因为只有当 A 完成时才会订阅 B。