Rx 转换 Observable<List<T>> 到 Observable<T>

Rx transform Observable<List<T>> to Observable<T>

我有 Observable<List<T>> 个发出许多 List<T> 个实例的可观察对象。 我想将 observable 转换为 return 单个列表中的所有 T 项。

具体问题是:

如何将Observable<List<T>>转换为Observable<T>

好的。平面地图运算符似乎正在进行所需的转换:

 observable.flatMap((List<T> ts) -> Observable.from(ts)).toList();

使用这个:

observable.flatMapIterable(collection -> collection)

请记住,这也不能保证顺序。

你需要的是 flatMap 可迭代对象:

observable.flatMapIterable(Functions.identity()).toList();

// or

observable.flatMap(Observable::fromIterable).toList();