Sono nuovo di RXJava e ho difficoltà a capire come concatenare il risultato delle chiamate API.Combinazione di chiamate API con RX Java
Sto effettuando due chiamate API utilizzando Retrofit, A e B, che restituiscono entrambi un elenco di oggetti osservabile. Entrambe le chiamate API sono indipendenti, quindi voglio fare entrambe le cose contemporaneamente, ma per raggiungere il mio risultato finale, devo prima prendere il risultato di A, fare un po 'di lavoro, quindi combinarlo con il risultato di B per popolare la mia lista di schede .
- Fare API chiamata Una
- Costruttore API Chiamata B
- Prendere il risultato di A e creare risultato X
Prendere Risultato di B + X e popolare adattatore
@GET("/{object_id}/object_a") Observable<List<Object_A>> getObjectAList( @Path("object_id") long object_id); @GET("/{object_id}/object_b") Observable<List<Object_B>> getObjectBList( @Path("object_id") long object_id);
Questo è dove mi perdo cercando di usare RX Java. Posso prendere il risultato della chiamata API A e fare il mio lavoro ma non sono sicuro come prendere il risultato che ho appena generato e combinarlo con API chiamata B.
aService. getObjectAList(object_a.getID())
.subscribeOn(AndroidSchedulers.mainThread())
.observeOn(AndroidSchedulers.main)
.subscribe(new Action1<List<Object_A>>() {
@Override
public void call(List<Section> sections) {
// Do Stuff Here...
// Now i need to take this result and combine it with API Call B...
}
});
Voglio fare entrambe le chiamate API allo stesso tempo, ma non sono sicuro di come concatenare e combinare le chiamate API. Qualsiasi aiuto è riconoscente.
questo è il blocco ad es. se 1 chiamata fallisce, si ferma lì; come faccio a effettuare chiamate non bloccanti in parallelo @IvanMorgillo? Non ho bisogno di combinare i risultati, voglio gestire i risultati in modo indipendente – ericn
"Func2" non supporta in rxbinding: 2.0.0. Che schifo noi invece? –
Credo che tu possa usare questo http://reactivex.io/RxJava/2.x/javadoc/io/reactivex/Observable.html#combineLatest(io.reactivex.functions.Function,%20int,%20io.reactivex.ObservableSource ...) RxJava2. –