Search in sources :

Example 1 with Timed

use of io.reactivex.schedulers.Timed in project WorkHelperApp by hubme.

the class RxJavaSampleFragment method onTimeInterval.

/*
    将一个发射数据的Observable转换为发射那些数据发射时间间隔的Observable.
    操作符拦截原始Observable发射的数据项,替换为发射表示相邻发射物时间间隔的对象。
     */
@OnClick(R.id.tv_timeInterval)
public void onTimeInterval() {
    Disposable subscribe = Observable.create(new ObservableOnSubscribe<String>() {

        @Override
        public void subscribe(@NonNull ObservableEmitter<String> e) throws Exception {
            for (int i = 0; i < 3; i++) {
                e.onNext(i + "");
                // Thread.sleep(1000);
                SystemClock.sleep(1000);
            }
            e.onComplete();
        }
    }).subscribeOn(Schedulers.newThread()).timeInterval().subscribe(new Consumer<Timed<String>>() {

        @Override
        public void accept(@NonNull Timed<String> stringTimed) throws Exception {
            Logger.i(String.valueOf(stringTimed.time()));
        }
    });
    mCompositeDisposable.add(subscribe);
}
Also used : CompositeDisposable(io.reactivex.disposables.CompositeDisposable) Disposable(io.reactivex.disposables.Disposable) ObservableOnSubscribe(io.reactivex.ObservableOnSubscribe) Timed(io.reactivex.schedulers.Timed) NonNull(io.reactivex.annotations.NonNull) ObservableEmitter(io.reactivex.ObservableEmitter) OnClick(butterknife.OnClick)

Aggregations

OnClick (butterknife.OnClick)1 ObservableEmitter (io.reactivex.ObservableEmitter)1 ObservableOnSubscribe (io.reactivex.ObservableOnSubscribe)1 NonNull (io.reactivex.annotations.NonNull)1 CompositeDisposable (io.reactivex.disposables.CompositeDisposable)1 Disposable (io.reactivex.disposables.Disposable)1 Timed (io.reactivex.schedulers.Timed)1