简体   繁体   English

Rx变换可观察 <List<T> &gt;至可观察 <T>

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM