debounce()函數(shù)過濾掉由Observable發(fā)射的速率過快的數(shù)據(jù);如果在一個指定的時間間隔過去了仍舊沒有發(fā)射一個,那么它將發(fā)射最后的那個。
就像sample()和timeout()函數(shù)一樣,debounce()使用TimeUnit對象指定時間間隔。
下圖展示了多久從Observable發(fā)射一次新的數(shù)據(jù),debounce()函數(shù)開啟一個內(nèi)部定時器,如果在這個時間間隔內(nèi)沒有新的數(shù)據(jù)發(fā)射,則新的Observable發(fā)射出最后一個數(shù)據(jù):
http://wiki.jikexueyuan.com/project/rxjava/images/chapter4_15.png" alt="" />