做项目时遇到使用flatmap发散数组数据的Observable变换为每个数组元素的多个Observable,然后按要求对不符合的元素进行过滤。最后需要将所有发射后的数据结合成一个数组或者List。
由于才学习Rxjava,不熟,不知道用什么操作符。百度/google了半天“Rxjava flatmap后结合数据”也没有相关的资料。都是写介绍flatmap的 = =,这个搜索词还是百度推荐提示推荐搜索的。。也是坑。看来也有不少人遇到了这个问题,那么我就来分享下吧。
在链式变换过程中,又不能直接使用Observable.merge或者Observable.concat等操作符。
自己看了下Rx的文档,才发现有toList()这个Observable变换过程中的辅助操作符。
toList辅助操作符有了这个操作符,就好办了。
当然也可以去了解buffer,toSortedList操作符,功能类似。增加了一些不同点。
附代码:
网友评论