【发布时间】:2018-03-14 10:00:00
【问题描述】:
如果没有发出任何项目,我想在 x 秒后发出一个项目。我试图使用超时运算符。问题是超时运算符需要至少执行一项才能开始倒计时。来自文档:
“如果下一个项目没有在从其前身开始的指定超时时间内发出,则生成的 Observable 开始镜像一个备用 Observable。”
这不是我正在寻找的行为。当我订阅我的 observable 时,如果在特定的时间段内过去没有任何发射过的项目,我想发射一个特定的项目。
例子:
getUserLocationFromGPS() //Sometimes I dont receive user location
.timeout(5, TimeUnit.SECONDS, Observable.just(getDefaultLocation())
.subscribe(...);
【问题讨论】:
-
也许只是从 getDefaultLocation() 开始?
-
@KrzysztofSkowronek 一开始我不想发出默认位置,这只是后备情况。
标签: rx-java rx-android