【问题标题】:Concat if first is empty如果 first 为空,则继续
【发布时间】:2018-03-22 22:18:58
【问题描述】:

我需要用事件在我的应用中填写一个列表。

我可以按类型 A 请求事件,然后如果结果不为空,我会填写该列表。

如果结果为空,我需要按类型B检索,并用它填充列表。

我考虑过连接两个 RxJava Singles,但只有当第一个为空时才这样做。我看到了我脑海中的逻辑,但我无法将其付诸实践。

有什么帮助吗?

【问题讨论】:

    标签: rx-java2


    【解决方案1】:

    我假设您的意思是类型为 Single<List<T>> 的源,因为空的 Single 是不可能的。在这种情况下,请使用flatMap

    eventSourceA
    .flatMap(list -> {
        if (list.isEmpty()) {
            return eventSourceB;
        }
        return Single.just(list);
    })
    .subscribe(list -> { /* ... */ });
    

    【讨论】:

      猜你喜欢
      • 2018-08-01
      • 1970-01-01
      • 2010-10-17
      • 1970-01-01
      • 2014-07-08
      • 1970-01-01
      • 1970-01-01
      • 2019-02-27
      • 2018-10-07
      相关资源
      最近更新 更多