Reputation: 1326
I have many request merged in Observable, and I need a Timeout Not for every emission but for complete observable in RXjava. Is it Possible??
Observable
.merge(listOfObservables).subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new DisposableObserver<Response>() {
@Override
public void onNext(@io.reactivex.annotations.NonNull Response response) {
}
@Override
public void onError(@io.reactivex.annotations.NonNull Throwable e) {
}
@Override
public void onComplete() {
}
});
Upvotes: 0
Views: 633
Reputation: 69997
You could use takeUntil
with a delayed error
:
Observable
.merge(listOfObservables)
.subscribeOn(Schedulers.io())
.takeUntil(Observable.error(new TimeoutException()).delay(5, TimeUnit.MINUTES, true))
.observeOn(AndroidSchedulers.mainThread())
Upvotes: 1