Rxjava出错的地方(开发错误集锦)

xiaoxiao2021-02-28  4

1.重试

出错重试应该是App中最常用的功能了,我常用的的操作符是retry,代码如下:

.retry { _ -> if (retryTime == 0) { ++retryTime true } else false }

今天想尝试下retryWhen操作符,一开始代码如下:

.retryWhen { ALog.e("aac开始重试了!") ++retryTime Observable.timer(5, TimeUnit.SECONDS); }

结果一开始订阅就直接进到retryWhen了,而且下游也收不到事件!搞了很久原来需要这样:

.retryWhen { it.flatMap { ALog.e("aac开始重试了!") ++retryTime //如果发射的onError就终止 // return Observable.error<Any>(Throwable("retryWhen终止啦")) Observable.timer(5, TimeUnit.SECONDS); } }

问题解决

转载请注明原文地址: https://www.6miu.com/read-2000155.html

最新回复(0)