RxJava-迭代Single <Collection>

时间:2019-10-24 13:14:05

标签: rx-java rx-java2

我有一个返回Single >的方法。遍历它的正确方法是什么,以便我可以应用过滤器并仅返回我要查找的SomeObj?

1 个答案:

答案 0 :(得分:1)

您可以使用flattenAsObservable。它将单个可迭代对象转换为可发射对象的可观察对象:

getItems()
    .flattenAsObservable { it }
    .filter { <some condition> }
    .first()

此处getItems返回Single<Collection<SomeObj>>

此代码将返回一个可观察值。您可能需要将其转换回单个。请注意,如果没有元素,则除非指定默认值,否则无法将其覆盖为单个。