JavaRx: ожидание повторной попытки () сделать еще один вызов - PullRequest
0 голосов
/ 31 октября 2018

У меня есть такой метод:

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

...