2014-03-24 53 views
0

我試圖從服務器調用中累積觀察值,然後對它們進行平面映射並進行另一個服務器調用。從不同流中累積觀察值用於輪詢

private Observable poll(Observable<TaskStatus> taskObservable) { 
    Observable.add(taskObservable) //Pseudocode 
    .buffer(3 sec) 
    .flatMap(...) 
    ... 
} 

如何可觀察的積累( 「添加」)可以實現嗎?

+1

可不可以給需要的輸入和輸出的例子嗎? –

回答

1

您可能正在尋找合併()運算符。

關於結合觀測量的更多信息,請參閱本:https://github.com/Netflix/RxJava/wiki/Combining-Observables

+0

合併很好,如果你有兩個(或更多)現有的Observable在同一時間.Observable.merge(observable1,observable2);這就像調用ListUtils.union(list1,list2);但我想將它們逐一添加到「Empty Observable」中。你明白我的意思嗎? – melbic

+0

我增加了關於複合一次性/訂閱的另一個答案。希望這就是你正在尋找的東西? –

0

您應該使用window運算符(見更多信息here,搜索版本window(source, timespan, unit))。

你的代碼應該是這樣的:

Observable.window(3, TimeUnit.SECONDS).flatmap(...)