我有一个文件列表,我想从Android设备上传到后端.由于内存限制,我想在第一次完成之后进行第二次API调用,在第二次完成之后进行第三次API调用,依此类推.
我写了类似的东西
private Observable<Integer> uploadFiles(List<File> files) {
return Observable.create(subscriber -> {
for (int i = 0, size = files.size(); i < size; i++) {
UploadModel uploadModel = new UploadModel(files.get(0));
int uploadResult = retrofitApi.uploadSynchronously(uploadModel);
subscriber.onNext(uploadResult);
}
subscriber.onCompleted();
}).subscribeOn(Schedulers.newThread());
}
Run Code Online (Sandbox Code Playgroud)
但是我觉得这可能违背了Rx的精神,而且说的是如果你使用Observable.create,你可能做错了......这是一种合理的方法吗?使用Retrofit的RxJava集成是否有更好的方法来实现这一目标?