【问题标题】:RxJava2 Detect zero event condition with FlowableRxJava2 使用 Flowable 检测零事件条件
【发布时间】:2018-04-19 18:44:16
【问题描述】:

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

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

【问题讨论】:

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


    【解决方案1】:

    您可以使用switchIfEmpty 运算符:

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

    【讨论】:

    • 要等多久?它如何在数据到达之前知道?现在检查文档。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多