動作するように観測可能ないくつかの観察可能なクラスをトリガーし、それらのすべてがいつonCompleted
状態に達したかを知る必要があります。oncompletedで観測可能なターゲットを取得する
私の現在のappraochは、開始時にセットに追加することでRxJava観測値の完了を追跡することです。その後、onCompleted()メソッドが起動したときにそれらをセットから削除します。
どのようにオブザーバブルオブジェクト自体をonCompletedから取得できますか?
私はそうのようにサブスクライブ:
c.event().subscribe(this);
そしてthis
で表されるオブジェクトは、オブザーバーを実装し、onCompleted
方法があります。
this.onCompleted()
で観測可能なターゲットを取得するにはどうすればよいですか?
私はTassos 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()メソッドに達しているが、すべてのオブザーバーDoneメッセージは、印刷されません。
多分、長いショット、 'c.event()'? :) – marstran
@marstran - 私は実際にラムダを使用して例をより短くしましたが、代わりにダムのように見えました:)私はちょうど実際の状況を反映するために質問を変更した – mtyson
ああ、私は誤解したと思う。私は「オブザーバー」の代わりに「オブザーバブル」を読むと思います。 – marstran