如何将一组 Observable 组合成一个 Observable?
How to combine a set of Observables into one Observable?
我有一个 List
数据模型,在下面的示例中是 User
,从 webService
(改造)返回。我将 List
拆分为元素并一个一个地发出它们,以便以某种方式 filter
它们。然后我需要合并所有过滤的 User
并创建它们的 List
。请查看下面的代码,以便更清楚。
webService.getUsers() // returns Observable<List<User>>
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.flatMap(users -> Observable.from(users)) // split the collection of Users, so we can filter them next step
.filter(user -> user.getId() % 2 == 0) // get only Users with even id
// How to transform from here to have a List<User> ?
您可以在 filter()
运算符之后简单地使用 RxJava toList()
运算符。
我有一个 List
数据模型,在下面的示例中是 User
,从 webService
(改造)返回。我将 List
拆分为元素并一个一个地发出它们,以便以某种方式 filter
它们。然后我需要合并所有过滤的 User
并创建它们的 List
。请查看下面的代码,以便更清楚。
webService.getUsers() // returns Observable<List<User>>
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.flatMap(users -> Observable.from(users)) // split the collection of Users, so we can filter them next step
.filter(user -> user.getId() % 2 == 0) // get only Users with even id
// How to transform from here to have a List<User> ?
您可以在 filter()
运算符之后简单地使用 RxJava toList()
运算符。