RxJava 2.缓冲一个观测项,直到其他观测项完成。

问题描述 投票:0回答:1

我有一个任务要合并两个观测值--一个是数据库中存在的有限观测值(称它为 "有限观测值")。数据库流),以及另一个来自queue(队列流). 当客户端订阅时,我需要立即订阅到 队列流但缓冲项目,直到 数据库流 将完全结束。当这种情况发生时,我想把所有缓冲项的 队列流. 之后,所有项目从 队列流 必须在没有任何延迟的情况下发出。有什么方便的方法可以用RxJava 2来实现吗?

java rx-java rx-java2
1个回答
0
投票

找到灵感 此处

Flowable<Foo> queueStream  = queueStream()
    .subscribeOn(Schedulers.newThread());

Flowable<Foo> databaseStream = databaseStream()
    .subscribeOn(Schedulers.newThread());

Flowable.concatEager(Arrays.asList(databaseStream, queueStream), 2 , 1000)
    .distinct(identityFunction())
    .blockingSubscribe(System.err::println);
© www.soinside.com 2019 - 2024. All rights reserved.