Rxjava 的定时操作

927 阅读1分钟

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 {
                    }
                });