requery db& rxjava observableResult多次调用后续函数

时间:2017-06-22 04:43:09

标签: java rx-java rx-android

在android上我使用requery db并尝试将我的数据库更改上传到服务器。为了达到同样的目的,我运行了以下逻辑

Scheduler sub2 = Schedulers.newThread();
Scheduler ob2 = Schedulers.newThread();
data.select(Broadcaster.class)
            .where(Broadcaster.IS_DIRTY.eq(true))
            .get()
            .observableResult()
            .subscribeOn(sub2)
            .observeOn(ob2)
            .flatMap(broadcasters->broadcasters.observable())
            .flatMap(broadcasters->Backend.getInstance()
                   .uploadBroadcaster(broadcasters)
                    .onExceptionResumeNext(Observable.empty()))
            .flatMapSingle(broadcaster -> markUploaded(broadcaster))
            .doOnError(t->Log.e(TAG,"Error uploading ",t))
            .subscribe();

但是对于每次更改,使用相同的数据多次调用uploadBroadcaster(4-10次)。 我在这里做错了什么。

1 个答案:

答案 0 :(得分:0)

错误是我的。这段代码被多次调用。所以订阅多次发生。