Nel documentation for RetryWhen l'esempio c'è questa:errore di cattura se retryWhen: s tentativi esaurisce
Observable.create((Subscriber<? super String> s) -> {
System.out.println("subscribing");
s.onError(new RuntimeException("always fails"));
}).retryWhen(attempts -> {
return attempts.zipWith(Observable.range(1, 3), (n, i) -> i).flatMap(i -> {
System.out.println("delay retry by " + i + " second(s)");
return Observable.timer(i, TimeUnit.SECONDS);
});
}).toBlocking().forEach(System.out::println);
ma come faccio a propagare l'errore se i tentativi si esaurisce?
Aggiunta .doOnError(System.out::println)
dopo la clausola retryWhen
non cattura l'errore. È persino emesso?
Aggiunta di un .doOnError(System.out::println)
prima del riprovaQuando si visualizza always fails
per tutti i tentativi.
Ehm, perché il down-vote? Questa è una libreria testata da unità. –