我試圖從服務器調用中累積觀察值,然後對它們進行平面映射並進行另一個服務器調用。從不同流中累積觀察值用於輪詢
private Observable poll(Observable<TaskStatus> taskObservable) {
Observable.add(taskObservable) //Pseudocode
.buffer(3 sec)
.flatMap(...)
...
}
如何可觀察的積累( 「添加」)可以實現嗎?
我試圖從服務器調用中累積觀察值,然後對它們進行平面映射並進行另一個服務器調用。從不同流中累積觀察值用於輪詢
private Observable poll(Observable<TaskStatus> taskObservable) {
Observable.add(taskObservable) //Pseudocode
.buffer(3 sec)
.flatMap(...)
...
}
如何可觀察的積累( 「添加」)可以實現嗎?
您可能正在尋找合併()運算符。
關於結合觀測量的更多信息,請參閱本:https://github.com/Netflix/RxJava/wiki/Combining-Observables
合併很好,如果你有兩個(或更多)現有的Observable在同一時間.Observable.merge(observable1,observable2);這就像調用ListUtils.union(list1,list2);但我想將它們逐一添加到「Empty Observable」中。你明白我的意思嗎? – melbic
我增加了關於複合一次性/訂閱的另一個答案。希望這就是你正在尋找的東西? –
對於積累的話,我想你可能是這樣的CompositeDisposable是Rx.NET的部分之後。
樣品Rx.NET用法:http://rxwiki.wikidot.com/disposables#toc2
我相信在Rx相當於Java是CompositeSubscription類。
在這裏看到:http://netflix.github.io/RxJava/javadoc/rx/subscriptions/CompositeSubscription.html
可不可以給需要的輸入和輸出的例子嗎? –