[英]Rx transform Observable<List<T>> to Observable<T>
I have Observable<List<T>>
observable that emits many List<T>
instances. 我有
Observable<List<T>>
observable,它发出许多List<T>
实例。 I want to transform observable to return all T items in single list. 我想将observable转换为在单个列表中返回所有T项。
The specific questions is: 具体问题是:
How to transform Observable<List<T>>
to Observable<T>
? 如何将
Observable<List<T>>
为Observable<T>
?
Use this: 用这个:
observable.flatMapIterable(collection -> collection)
Keep in mind that this too does not guarantee order. 请记住,这也不能保证订单。
Ok. 好。 It seems that flat map operator is doing desired transformation:
似乎平面图运算符正在执行所需的转换:
observable.flatMap((List<T> ts) -> Observable.from(ts)).toList();
What you need is flatMap the iterable object: 您需要的是flatMap可迭代对象:
observable.flatMapIterable(Functions.identity()).toList();
// or
observable.flatMap(Observable::fromIterable).toList();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.