У меня есть одноразовое устройство RxJava, где я слушаю обновления в режиме реального времени с сервера
someNetworkBaseFlowable
.observeOn(schedulerProvider.io())
.subscribeOn(AndroidSchedulers.mainThread())
.subscribe({
// handle success
}, {
// handle failure
})
При сбое в сети эта подписка не выполняется, и я теряю подключение к серверу, даже когда сеть возвращается.
Я пытался нам retryWhen
повторно подписаться на сервер следующим образом:
someNetworkBaseFlowable
.observeOn(schedulerProvider.io())
.subscribeOn(AndroidSchedulers.mainThread())
.retryWhen { error ->
error.flatMap {
Flowable.timer(5, TimeUnit.SECONDS)
}
}
.subscribe({
// handle succes
}, {
// handle failure
})
Я, хотя это будет пытаться пропинговать или переподключаться к серверу и повторную подписку каждые 5 секунд., однако это не тот случай!
Я некоторое время боролся, и любая помощь в этом вопросе будет оценена.