Проблема заключается в том, что ошибка выведет sh значение базы данных в debounce
, поэтому оно никогда не доставляется. Если кто-то материализует поток, то уведомление об ошибке будет делать то же самое.
Лучшее, что я могу придумать, это переместить ошибку за пределы таймера отладки, таким образом, вы получите следующий элемент как минимум:
Observable.concatArrayEagerDelayError(
Observable.just(1).delay(100, TimeUnit.MILLISECONDS),
Observable.<Integer>error(new IOException()).delay(200, TimeUnit.MILLISECONDS, true)
)
.onErrorResumeNext((Function<Throwable, Observable<Integer>>)(error ->
Observable.<Integer>error(error).delay(500, TimeUnit.MILLISECONDS, true))
)
.doOnEach(System.out::println)
.debounce(400, TimeUnit.MILLISECONDS)
.blockingSubscribe(
System.out::println,
Throwable::printStackTrace
);