RxJava2 - 处理对Parse服务器的多个请求

时间:2017-09-07 22:20:26

标签: java android parse-platform rx-java rx-java2

我有一个Parse服务器的外部请求,它根据项目返回List和每个List项目的2个内部请求。当每个请求都成功返回时,我需要立即保存所有结果(或抛出错误,如果至少其中一个失败,则不保存任何内容)。 我使用RxParse库,我的想法是,在当前迭代的两个内部请求成功完成之前,我可以延迟外部请求的onNext或onComplete回调(这样我就可以保存外部onComplete上的所有内容)。我只设法为外部请求创建Observable,并且使用flatMap等实验没有帮助,外部onNexts和onComplete在内部请求完成之前发生。现在(没有评论实验)它看起来像这样:

boolean[] wasError=new boolean[] {false};    
Observable<ParseObject> objects = ParseObservable.find(ParseQuery
    .getQuery(DBFields.PARSE_TABLE))); //returned List
objects
       .observeOn(AndroidSchedulers.mainThread())
       .filter(obj->filterNeededObjects(obj, realm))
       //suppose here should be some magic
       .subscribe(
              obj -> {
                  //onNext
              },
              throwable -> {
                  wasError[0] = true;
                  //onError
              }, () -> {
                  //onComplete
              }
            );

如何解决我的问题?

0 个答案:

没有答案