【发布时间】:2018-03-22 22:18:58
【问题描述】:
我需要用事件在我的应用中填写一个列表。
我可以按类型 A 请求事件,然后如果结果不为空,我会填写该列表。
如果结果为空,我需要按类型B检索,并用它填充列表。
我考虑过连接两个 RxJava Singles,但只有当第一个为空时才这样做。我看到了我脑海中的逻辑,但我无法将其付诸实践。
有什么帮助吗?
【问题讨论】:
标签: rx-java2
我需要用事件在我的应用中填写一个列表。
我可以按类型 A 请求事件,然后如果结果不为空,我会填写该列表。
如果结果为空,我需要按类型B检索,并用它填充列表。
我考虑过连接两个 RxJava Singles,但只有当第一个为空时才这样做。我看到了我脑海中的逻辑,但我无法将其付诸实践。
有什么帮助吗?
【问题讨论】:
标签: rx-java2
我假设您的意思是类型为 Single<List<T>> 的源,因为空的 Single 是不可能的。在这种情况下,请使用flatMap:
eventSourceA
.flatMap(list -> {
if (list.isEmpty()) {
return eventSourceB;
}
return Single.just(list);
})
.subscribe(list -> { /* ... */ });
【讨论】: