Ich habe eine Liste von Objekten, die nacheinander an eine API übergeben werden sollen und einen endgültigen Rückruf benötigen, wenn alle Anrufe abgeschlossen sind. Die Codestruktur sieht aus wieMehrere API-Aufrufe mit RxJava und Android
//Singleton class
public class RestAPIManager {
public Completable doSomething(A a) {
//Make API call here and return Completeable
}
}
//Class from which the above API call is made
public class FragmentA extends Fragment {
List<A> aList = new ArrayList<A>;
//This method should return completable after all calls are made
private Completable callDoSomething(List<A> data) {
// The code that I tried
Observable.just(data)
.flatMap(new <List<A>, Observable<?>>() {
@Override
public Observable<?> call(List<A> dataList) {
//WHAT SHOULD BE RETURNED FROM HERE
for (A a : dataList) {
RestAPIManager.getInstance().doSomething(a)
}
}
})
.doOnCompleted(new Action0() {
@Override
public void call() {
}
})
.doOnError(new Action1<Throwable>() {
@Override
public void call(Throwable throwable) {
}
})
.toCompletable();
}
}
ich mit RxJava gerade begonnen haben, so bin wirklich nicht sicher, wie man damit weitermachen.