RxJava2使用Flowable

时间:2018-04-19 09:56:52

标签: java android rx-java reactive-programming rx-java2

我使用android库FrangSierra来监听Firebase数据库事件。该库返回RxJava2 Flowables以供使用。我在开始加载数据时显示加载对话框,需要在收到数据时隐藏它。现在问题是当没有数据时我需要显示一个空视图,因为Flowable从不调用OnComplete

我尝试应用timeout,问题是数据加载完成后可能总是超时。我还想继续订阅未来的活动。我的问题是如何在这里检测0记录方案。

1 个答案:

答案 0 :(得分:0)

您可以使用switchIfEmpty运算符:

Flowable.just(1)
        .filter(value -> (value != 1))
        .switchIfEmpty(Completable.fromRunnable(() -> System.out.println("Empty stream")).toFlowable())
        .subscribe();