我有一个可观察的:Observable.create<Boolean> {emitter = it}
,我在其中推了一些值。我希望它在某个特定时间段过去后立即发布“假”值,而不会将任何值推送到该发射器。
使用RxJava / Kotlin 2怎么可能?
答案 0 :(得分:2)
您可以尝试合并两个功能:timeout
和onErrorReturn
。
Observable.create<Boolean> {
// use emitter here
}
.timeout(3, TimeUnit.SECONDS)
.onErrorReturn { if (it is TimeoutException) false else throw it }
.subscribe { println("onNext $it") }
澄清后更新的代码段。 repeatWhen
将重新订阅Observable。
Observable.create<Boolean> {
// use emitter here
}
.timeout(3, TimeUnit.SECONDS)
.onErrorReturn { if (it is TimeoutException) false else throw it }
.repeatWhen { it }
.subscribe { println("onNext $it") }