RxJava повтор на основе логики

В этом случае у меня есть API, называемый usign Retrofit, который может произойти сбой из-за сетевой ошибки. Если это не удастся, мы покажем сообщение об ошибке с кнопкой повтора. Когда пользователь нажимает кнопку повтора, нам нужно повторить попытку последней наблюдаемой снова.

Возможные решения:

Retry: Retry следует использовать перед подпиской на наблюдаемую, и она сразу же повторно подпишется снова, если произойдет ошибка, и это то, что я не хочу, мне нужно повторно подписаться, только если пользователь нажал кнопку Retry.

RetryWhen: Он будет пытаться генерировать предметы до тех пор, пока вы не выдадите наблюдаемую ошибку, затем остановится. Та же проблема здесь, мне не нужно начинать процесс повторных попыток, если только использование не решит.

Повторная подписка на ту же Observable: это решение начнет испускать объекты Observable, проблема в том, что мы используем оператор кэширования, поэтому, если один Observable вышел из строя, мы кэшировали сбойный элемент, и когда мы снова подписались, мы получили та же ошибка снова.

Есть ли другие решения, чтобы пойти с?

Ответы на вопрос(1)

Ваш ответ на вопрос