如何将一组Obserbles组合成一个Observable?(How to combine a set of Observables into one Observable?)
我有一个数据模型List ,下面的例子中的User ,从webService (Retrofit)返回。 我将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> ?I have a List of data models, User in the example below, returned from a webService (Retrofit). I split the List into elements and emit them one by one so to filter them somehow. Then I need to combine all filtred Users and create a List of them. Please check out the code below so it is more clear.
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 toList()运算符后使用RxJava toList()运算符。
You can simply use the RxJava toList() operator after your filter() operator.
更多推荐
发布评论