2017-11-11 14 views

答えて

1

場合によってはデータが欲しいという観測可能性がある場合は、switchMap()演算子を使用して簡単に購読と購読を解除することができます。

PublishSubject<Boolean> switchObservable = PublishSubject.create(); 

は、あなたが最初に観測可能にサブスクリプションを制御することができます:あなたはスイッチング、観察を導入した場合、その後

Observable<LocationData> locationDataObservable; 

のは、あなたがからのデータが欲しいという観測可能があるとしましょう

Observable<LocationData> switchedLocationDataObservable = 
    switchObservable 
    .switchMap(abled -> abled ? locationDataObservable : Observable.never()) 
    .subscribe(); 

データを受信できるようにするには、

switchObservable.onNext(Boolean.TRUE); 

と無効にするには、

switchObservable.onNext(Boolean.FALSE); 

switchMap()オペレータが加入すると、あなたのため脱退の世話をします。

関連する問題