我想在成功重试后获得成功。这是我的最小工作示例:
var i = 0
Observable.just(i)
.flatMapSingle {
println(i)
i++
when {
it < 3 -> Single.error(Exception())
else -> Single.just(it)
}
}
.retryWhen { errorObservable -> errorObservable
.take(4)
}
.subscribe { println("subscribe $i") }
这将订阅和打印0, subscribe 1
。如果我取消注释注释行,我只会得到0, 1, 2, 3
如何在给定示例中获得成功的订阅价值?