danielgomezrico
07/03/2016, 8:21 PMclass RetryWithDelay(val maxRetries: Int, var delay: Long) :
Func1<Observable<out Throwable>, Observable<*>> {
internal var retryCount = 0
override fun call(attempts: Observable<out Throwable>): Observable<*> {
return attempts.flatMap(Func1<kotlin.Throwable, rx.Observable<*>> { throwable ->
if (++retryCount < maxRetries) {
Observable.timer(delay, TimeUnit.SECONDS)
} else {
Observable.error<Throwable>(throwable)
}
})
}
}
into
class RetryWithDelay(val maxRetries: Int, var delay: Long) :
Func1<Observable<out Throwable>, Observable<*>> {
internal var retryCount = 0
override fun call(attempts: Observable<out Throwable>): Observable<*> {
return attempts.flatMap({ throwable ->
if (++retryCount < maxRetries) {
Observable.timer(delay, TimeUnit.SECONDS)
} else {
Observable.error<Throwable>(throwable)
}
})
}
}