[英]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();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.