I'm sending multiple API requests(>1000 requests) using Observable.zip()
, see the below implementation, here I want to wait until the last responses arrive, I read the documentation for RxJava, but seems like no such method for waiting until last responses for zip
, is there API available for that? or is there any way to implement such functionality? Thanks in Advance,
Observable.zip(
requests, // list of requests
new Function<Object[], List<Object>>() {
@Override
public List<Object> apply(Object[] objects) throws Exception {
Log.d("onSubscribe", "apply: " + objects.length);
for (Object o : objects) {
messageResponse.add((Object) o);
}
return messageResponse;
}
}).subscribeOn(Schedulers.io())
.subscribe(
new Consumer<List<Object>>() {
@Override
public void accept(List<Object> dataResponses) throws Exception {
Log.d("onSubscribe", "YOUR DATA IS HERE: " + dataResponses);
}
},
new Consumer<Throwable>() {
@Override
public void accept(Throwable e) throws Exception {
Log.e("onSubscribe", "Throwable: " + e.getMessage());
e.getStackTrace();
}
}
);