启动 RxJava2 Observable.interval() 没有初始延迟?
Start RxJava2 Observable.interval() with no initial delay?
我正在使用 RxJava2 Observable 每秒重复一次操作,然后 post 将结果发送到我的 Android 布局中的 TextView。我现在拥有的代码(下方)运行良好,但我宁愿让它在没有初始延迟的情况下执行。
Disposable disposable = Observable.interval(1000, java.util.concurrent.TimeUnit.MILLISECONDS)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(aLong -> myMethod());
我注意到其他使用 RxJS 的人使用 timer()
而不是 interval()
来实现 0 延迟。有什么方法可以用 RxJava2 做到这一点吗?
有一个Observable.timer(long delay, TimeUnit unit, Scheduler scheduler) in RxJava 2。您可以尝试使用它。
更新 1:
对于 interval that starts with an initial delay and then emits on a regular interval, you can use Observable.interval(long initialDelay, long period, TimeUnit unit, Scheduler scheduler)
我正在使用 RxJava2 Observable 每秒重复一次操作,然后 post 将结果发送到我的 Android 布局中的 TextView。我现在拥有的代码(下方)运行良好,但我宁愿让它在没有初始延迟的情况下执行。
Disposable disposable = Observable.interval(1000, java.util.concurrent.TimeUnit.MILLISECONDS)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(aLong -> myMethod());
我注意到其他使用 RxJS 的人使用 timer()
而不是 interval()
来实现 0 延迟。有什么方法可以用 RxJava2 做到这一点吗?
有一个Observable.timer(long delay, TimeUnit unit, Scheduler scheduler) in RxJava 2。您可以尝试使用它。
更新 1:
对于 interval that starts with an initial delay and then emits on a regular interval, you can use Observable.interval(long initialDelay, long period, TimeUnit unit, Scheduler scheduler)