Rxjava2中定时
rxjava2中定时操作是由interval操作符完成的。我们调用Observable的interval创建操作符,来进行指定时间的定时操作,其中我们需要指定两个参数,一个是int值的时间数字,另外一个是时间单位
下面是实例代码:
Observable.interval(milliseconds, TimeUnit.MILLISECONDS)//两个参数,一个是数字,一个是该数字的单位,此处单位是毫秒
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<Long>() {
@Override
public void onSubscribe(@NonNull Disposable disposable) {
mDisposable=disposable;//外部持有,方便外部关闭此定时。
}
@Override
public void onNext(@NonNull Long number) {//此方法内做定时时间到时,您想要进行的操作
}
@Override
public void onError(@NonNull Throwable e) {
}
@Override
public void onComplete() {
}
});
可撤销的定时操作
Disposable disposable = Observable.interval(0, 1000, TimeUnit.MILLISECONDS)//发送延迟,间隔时间,时间单位
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Consumer<Long>() {
@Override
public void accept(Long aLong) throws Exception {
}
});