0
我有一個Observable,它正在偵聽數據庫並在添加到db時發出項目。當我訂閱這個可觀察的數據庫時,它已經將已經存儲的數據項一個接一個地發送出去了。我的問題是我可以創建observable,它將收集以某個時間間隔(例如100毫秒)發送到列表中的項目,併發出(或返回某個函數中的doOnNext)整個列表和單獨項目間隔?RxJava 2:在一定時間後發出收集的項目列表
提前致謝!
我有一個Observable,它正在偵聽數據庫並在添加到db時發出項目。當我訂閱這個可觀察的數據庫時,它已經將已經存儲的數據項一個接一個地發送出去了。我的問題是我可以創建observable,它將收集以某個時間間隔(例如100毫秒)發送到列表中的項目,併發出(或返回某個函數中的doOnNext)整個列表和單獨項目間隔?RxJava 2:在一定時間後發出收集的項目列表
提前致謝!
您正在尋找buffer操作:
返回一個可觀察到發射項目的緩衝區它從源頭上可觀測收集。由此產生的Observable發出連接的,不重疊的緩衝區,每個緩衝區都由時間間隔參數指定的固定持續時間。
發出收集的項目,每100毫秒時間:
dbObservable
.buffer(100, TimeUnit.MILLISECONDS)
... // here is your Lists
是啊,我一直在尋找這種方法之前,但在我的項目的邏輯發生了變化,我不需要爲這個問題的答案了。感謝您的時間和精力! –