【发布时间】:2020-03-30 17:37:41
【问题描述】:
我正在研究 RxJava。我为 observable 类创建了一个由真假值组成的随机布尔流。
可观察类应在 x 秒(10 到 90 秒之间)的随机持续时间后重复。在每个真实值之后,我需要调用 API 并更新 UI。
我编写了以下代码来生成随机布尔值并将它们传递给 observable。但是如何在每 x 秒后重复 observable?
val r = Random
val apiResultStream = Observable.create(object : Observable.OnSubscribe<Boolean> {
override fun call(subscriber: Subscriber<in Boolean>) {
// emit true or false
subscriber.onNext(r.nextBoolean())
}
}).repeat(10)
apiResultStream
.subscribe { result ->
if (result === true) {
Log.v("ABC",""+result);
callAPI()
} else {
//callFailureApi()
Log.v("ABC",""+result);
}
}
【问题讨论】:
-
这段代码看起来是正确的。您究竟需要什么帮助?
-
@PrashantPandey 想每 30 秒调用一次 observable