2017-09-04 66 views
0

我有一個Observable,它正在偵聽數據庫並在添加到db時發出項目。當我訂閱這個可觀察的數據庫時,它已經將已經存儲的數據項一個接一個地發送出去了。我的問題是我可以創建observable,它將收集以某個時間間隔(例如100毫秒)發送到列表中的項目,併發出(或返回某個函數中的doOnNext)整個列表和單獨項目間隔?RxJava 2:在一定時間後發出收集的項目列表

提前致謝!

回答

5

您正在尋找buffer操作:

返回一個可觀察到發射項目的緩衝區它從源頭上可觀測收集。由此產生的Observable發出連接的,不重疊的緩衝區,每個緩衝區都由時間間隔參數指定的固定持續時間。 enter image description here

發出收集的項目,每100毫秒時間:

dbObservable 
    .buffer(100, TimeUnit.MILLISECONDS) 
    ... // here is your Lists 
+2

是啊,我一直在尋找這種方法之前,但在我的項目的邏輯發生了變化,我不需要爲這個問題的答案了。感謝您的時間和精力! –

相關問題