android - RxJava retry when other observable emits error -


i wanna create chain of request should looks that.

i call apiservice.changepassword() , can success 200 , 401 error. if success fine else have call apiservice.refreshtoken() , if refreshed token should call again apiservice.changepassword(). think using retrywhen. should use?

[edit:]

i got solution:

apiservice.joboffers(...)                 .subscribeon(schedulers.io())                 .flatmap(new func1<response<responsebody>, observable<feeddataprovider>>() {                     @override                     public observable<feeddataprovider> call(response<responsebody> response) {                         ...                      }                 }).retrywhen(new func1<observable<? extends throwable>, observable<?>>() {                     @override                     public observable<?> call(observable<? extends throwable> observable) {                         return observable.flatmap(new func1<throwable, observable<?>>() {                             @override                             public observable<?> call(throwable throwable) {                                 if(throwable instanceof retrofitexception) {                                     ///refresh token                                     }                                 }                                 return observable.error(throwable);                             }                         });                     }                 }); 


Comments

Popular posts from this blog

amazon web services - S3 Pre-signed POST validate file type? -

c# - Check Keyboard Input Winforms -