我正在尝试从Observable(BehaviorSubject.create())获取值
当我运行locationObservable.subscribe {}时,我会在几秒钟内收到结果。但是使用
try {
it.locationObservable
.timeout(10, TimeUnit.SECONDS)
.blockingFirst()
} catch (e: Exception) {
}
无论超时与否,都不会发生。我只是收到“ java.util.concurrent.TimeoutException:源在10秒钟内未发出事件信号并已终止”。我试过blockingFirst(),blockingLast()和blockingForEach()。我是否以某种方式阻塞了可以为我提供价值的线程?
编辑:将其从主线程中移出后,它开始工作。谢谢大家的投入。
答案 0 :(得分:0)
操作员.observeOn(Schedulers.io())
将排队所有要在Android应用程序的IO线程中发射的发射项目。
答案 1 :(得分:0)
尝试以下操作:
.timeout(10, TimeUnit.SECONDS, Observable.just("fallback"))