RxJava - 迭代单个<Collection>

RxJava - Iterating a Single<Collection>

我有一个方法 return 是一个 Single>。遍历它的正确方法是什么,这样我就可以应用过滤器并且只 return 我正在寻找的 SomeObj?

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

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

这里是getItems returns Single<Collection<SomeObj>>.

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