如何在 Rxjava2 中将多个 Observable<T> 组合到 Observable<List<T>>
how to combine multi Observable<T> to Observable<List<T>> in Rxjava2
我有办法,
Observable<String> uploadFile(File file);
然后我实现方法
Single<List<String>> uploadFile(List<file> files){
return Observable.fromIterable(files).flatMap(file -> upLoadFile(context, file))
.toList();
}
但是
输入 file1, file2, file3 输出为 List{file2, file1, file3}
如何保持文件的正确顺序?
如果要对平面图的输出进行排序,使用sorted()方法。
Observable.fromIterable(files)flatMap(file -> upLoadFile(context, file))
.sorted().toList();
要保留可观察对象的顺序,请使用 concatMap 而不是 flatMap
Single<List<String>> uploadFile(List<file> files){
return Observable.fromIterable(files).concatMap(file ->
upLoadFile(context, file))
.toList();
}
我有办法,
Observable<String> uploadFile(File file);
然后我实现方法
Single<List<String>> uploadFile(List<file> files){
return Observable.fromIterable(files).flatMap(file -> upLoadFile(context, file))
.toList();
}
但是
输入 file1, file2, file3 输出为 List{file2, file1, file3}
如何保持文件的正确顺序?
如果要对平面图的输出进行排序,使用sorted()方法。
Observable.fromIterable(files)flatMap(file -> upLoadFile(context, file))
.sorted().toList();
要保留可观察对象的顺序,请使用 concatMap 而不是 flatMap
Single<List<String>> uploadFile(List<file> files){
return Observable.fromIterable(files).concatMap(file ->
upLoadFile(context, file))
.toList();
}