RxJava過濾操作符 debounce

2021-07-10 05:01:39 字數 930 閱讀 9556

debounce操作符是對源observable間隔期產生的結果進行過濾,如果在這個規定的間隔期內沒有別的結果產生,則將這個結果提交給訂閱者,否則忽略該結果,原理有點像光學防抖.

.debounce(時間,時間單位)

例子:

observable.create(new observable.onsubscribe()  catch (interruptedexception e) 

}subscriber.oncompleted();

} catch (exception e)

}}).subscribeon(schedulers.newthread())

.debounce(5, timeunit.seconds)

.subscribe(new action1()

});

結果為:

03-01 10:01:15.040 3591-3736/com.rxandroid.test1 d/----->: ------->call():5

03-01 10:01:20.030 3591-3736/com.rxandroid.test1 d/----->: ------->call():6

03-01 10:01:26.030 3591-3736/com.rxandroid.test1 d/----->: ------->call():7

03-01 10:01:33.030 3591-3736/com.rxandroid.test1 d/----->: ------->call():8

03-01 10:01:41.030 3591-3736/com.rxandroid.test1 d/----->: ------->call():9

在這裡間隔期定義為5s,很顯然第乙個5秒 期間產生了不止乙個資料,所以都會捨棄,從第5個資料開始,每個間隔期只產生了唯一的乙個資料,這回提交給訂閱者

RxJava 過濾操作符 ofType

oftype class 指定某個型別的class,過濾屬於這個型別的的結果,其它拋棄 例子 observable.just first 2,3,four oftype integer.class subscribe new action1 結果 03 01 13 03 18.350 7828 78...

RxJava筆記 RxJava操作符

用來建立observable。public static observablecreate onsubscribef 把其他型別的物件和資料型別轉化成observable。observable.just 123 把其他型別的物件和資料型別轉化成observable。與just區別在與引數返回值不同 ...

RxJava操作符學習

操作符學習推薦閱讀 官方英文 翻譯中文 先來看乙個簡單的例子 被觀察者 observable.onsubscribeintegeronsubscribe new observable.onsubscribe 觀察者 subscriberintegersubscriber new subscriber...