Plusieurs demandes de rénovation pour combiner les résultats

Im en utilisant des protections (1.9) et essayer de comprendre comment je peux appeler 2 api et de fusionner les résultats.

Je suppose que les résultats devraient être fusionnées lors de la dernière api a fini de retourner une réponse...

Comment puis-je faire cela?

Udpate, comme par Antons réponse, j'ai essayé les suivantes:

ajouté à gradle:

  compile 'io.reactivex:rxjava:1.0.+'
    compile 'io.reactivex:rxandroid:0.23.+'

Interface de l'Api

 @GET("/maps/api/place/details/json")
    Observable<PlaceDetailResult1> getPlacesFrom1( @Query("key") String key,  @Query("placeid") String placeid);


@GET("api/places/{id}/ratings")
Observable<PlaceDetailResult2> getPlacesFrom2(@Path("id") String id);

Fragment

     IPlaces api = adapter.create(IPlaces.class); //endpoint1
     IPlaces api2 = adapter2.create(IPlaces.class); //endpoint2

    Observable.combineLatest(
            api.getPlacesFrom1("key", placeId),
            api2.getPlacesFrom2(placeId),
        new Func2<PlaceDetailResult1, PlaceDetailResult2, MergedReviews>() {
            @Override
            public MergedReviews call(PlaceDetailResult placeDetailResult1, PlaceDetailResult2 placeDetailResult2) {
                //processToMerge(  placeDetailResult1, placeDetailResult2)
                return mr;
            }

            })
            .subscribeOn(Schedulers.newThread())
            .observeOn(AndroidSchedulers.mainThread())
            .subscribe(new Observer<MergedReviews>() {
                @Override
                public void onCompleted() {

                }

                @Override
                public void onError(Throwable e) {

                }

                @Override
                public void onNext(MergedReviews mr) {

                    SetAdapter(mr.reviews);
                    SetPhotosAdapter(mr.photos);
                }
            });

Une chose peut-être intéressant de noter, quand j'ai ajouté RxJava à gradle j'ai été faire une erreur, qui s'en alla après je n'ai multiDexEnabled true dans le gradle fichier

Utilisation RxJava avec Rénovation
est RxJava le seul moyen si l'aide de rénovation?
pour sûr, vous pouvez créer compteur global et de procéder à des résultats, lorsque le compteur atteint zéro (si vous décrémenter il après le succès de l'intervention), mais c'est douloureux, RxJava est beaucoup plus sûr, plus frais et plus facile
plus de code ajouté

OriginalL'auteur raklos | 2016-04-04