public class DelayBug {
public static void main(String[] args) throws Exception {
final CountDownLatch latch = new CountDownLatch(1);
Observable.<String>error(new Exception())
.delay(100, TimeUnit.MILLISECONDS, Schedulers.io())
.doOnError(throwable -> System.out.println("onError @ " + Thread.currentThread().getName()))
.onErrorResumeNext(Observable.empty())
.doAfterTerminate(latch::countDown)
.subscribe();
latch.await();
}
}
Output:
Expected output:
onError @ RxCachedThreadScheduler-1