我需要觸發幾個可觀察到的可以操作的類,然後知道它們何時都已達到其狀態onCompleted
。在onCompleted中獲取可觀察的目標
我目前的看法是通過將它們添加到集合中來追蹤RxJava observables的完成情況,然後我們希望在它們的onCompleted()方法觸發時將它們從集合中移除。
如何從onCompleted獲取可觀察對象本身?
予訂閱像這樣:
c.event().subscribe(this);
而且由this
表示的對象實現觀察,並具有onCompleted
方法。
如何獲得this.onCompleted()
中的可觀察目標?
我試圖根據帕帕佐Bassoukos建議如下解決方案,但它什麼都不做:
Set<Observable<Void>> obs = new HashSet<Observable<Void>>();
//...
c.event().subscribe(this);
obs.add(c.event());
c2.event().subscribe(this);
obs.add(c2.event());
//...
Observable.merge(obs).lastOrDefault(null).doOnNext(foo -> {
System.out.println("All Observers Done");
});
的完成消息從未版畫,雖然每個觀察者已經達到onCompleted()方法的所有觀察員。
也許是遠射:'c.event()'? :) – marstran
@marstran - 我實際上使用lambda來縮短例子,但相反,它使它看起來像一個愚蠢的問題:)。我只是改變了這個問題,以反映真實情況 – mtyson
哦,我想我誤讀了。我認爲我讀「可觀察」而不是「觀察者」。 – marstran