我有一个使用Observable.interval(POLL_INTERVAL, Seconds)
实现的轮询服务。这工作得很好,但我希望第一个延迟为0,我的意思是我想立即开始轮询,然后继续轮询每个POLL_INTERVAL。这是如何实现的呢?
RxJava有3个计时相关的操作符(每个操作符+1个重载):
-
timer(long delay, TimeUnit unit [, Scheduler scheduler])
在延迟后发出单个0L, -
timer(long initialDelay, long period, TimeUnit unit [, Scheduler scheduler])
在初始延迟后发出一个0L,之后周期性地递增, -
interval(long interval, TimeUnit unit [, Scheduler scheduler])
在间隔后排放0L,周期性排放1L、2L等。相当于timer(interval, interval, unit)
。