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();
我有 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();