相关疑难解决方法(0)

使用RxJava和Retrofit进行N次连续api调用

我有一个文件列表,我想从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集成是否有更好的方法来实现这一目标?

java android rx-java retrofit

10
推荐指数
1
解决办法
5554
查看次数

标签 统计

android ×1

java ×1

retrofit ×1

rx-java ×1