代码之家  ›  专栏  ›  技术社区  ›  Diafotismos

启动RxJava2 Observable。间隔()没有初始延迟?

  •  1
  • Diafotismos  · 技术社区  · 7 年前

    我正在使用RxJava2 Observable每秒重复一次操作,然后将结果发布到Android布局中的文本视图中。我现在的代码(下面)运行得很好,但我希望它在执行时没有初始延迟。

    Disposable disposable = Observable.interval(1000, java.util.concurrent.TimeUnit.MILLISECONDS)
        .subscribeOn(Schedulers.io())
        .observeOn(AndroidSchedulers.mainThread())
        .subscribe(aLong -> myMethod());
    

    我注意到其他使用RxJS的人 timer() 而不是 interval() 实现0延迟。有没有办法用RxJava2做到这一点?

    1 回复  |  直到 7 年前
        1
  •  4
  •   riyaz-ali    7 年前

    有一个 Observable.timer(long delay, TimeUnit unit, Scheduler scheduler) 在里面 RxJava 2 . 你可以试着用它。

    更新1:
    对于 interval 从初始延迟开始,然后以固定间隔发射,您可以使用 Observable.interval(long initialDelay, long period, TimeUnit unit, Scheduler scheduler)