У меня есть такой метод:
service.requestContent(session, Content.NEW)
.zipWith(service.requestContent(session, Content.ISSUED), this::merge)
.subscribe(new SingleObserver<List<ContentItem>>() {
Моя проблема заключается в том, что запрос requestContent содержит retryWhen (...) для получения нового файла cookie с сервера, поскольку он может быть недействительным
public Single<ContentListResponse> requestContent(@NonNull Session session, Content content) {
return Single.defer(() -> myService.getContentList(session.getServerUrl(), session.getCookie(), new ContentListRequest(content)))
.retryWhen(hasCookieAcquired(session))
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread());
}
Когда вызовы заархивированы, выбросы первого requestContent и второго requestContent объединяются.
То, что я хочу, - это чтобы второй requestContent ожидал повторной попытки при завершении первого requestContent