我正在尝试深入了解 retryWhen 运算符,并且我有一些代码如下。
Flowable.just(1, 2, 3, 4, 5)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.retryWhen { throwable ->
Log.d("Debug", "retryWhen proceed...")
throw Exception("There is a exception")
}
.subscribe(
{ item ->
Log.d("Debug", "success : $item")
},
{ throwable ->
Log.d("Debug", "error : ${throwable.message}")
},
{
Log.d("Debug", "complete")
}
)
结果如下所示。
调试:重试当继续...
调试:错误:有异常
问题是当 retryWhen 操作符被触发时?
我假设只有在发生异常时才会触发 retryWhen 运算符。
但结果显然不是我想的那样,
对此有什么想法吗?谢谢!