Observable.interval() 与 initialDelay

Observable.interval() with initialDelay

我有一个使用 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).