2017-10-21 12 views
2

Observableクラスのhideメソッドは何のために使われますか? 私は、ドキュメントを読んで、まだそれがために使用されているものは考えを持っていないと私はReactive javaメソッドhide()

hide() 
    Hides the identity of this Observable and its Disposable. 

http://reactivex.io/RxJava/javadoc/io/reactivex/Observable.html

私たちは、このメソッドを使用する必要があり、それを使用する多くの人々を見ましたか?

答えて

2

あなたはドキュメントを見れば、あなたは次の文に表示されます。

は、そのような件名のオブザーバー方法などの追加機能を非表示にするか、特定のアイデンティティベースの最適化(融合)を防止することができます。

例は次のようになります。

PublishSubject<Object> objectPublishSubject = PublishSubject.create(); 

Observable<Object> hide = objectPublishSubject.hide(); 

は、あなたが内部的にPublishSubjectを使用して、外の世界に観察可能に合格したい、としましょう。これは情報の隠蔽のために良い考えです。外部からの呼び出し側はObservableで#onNext()を呼び出すことができません。したがって、Observableをメソッドの戻り値として使用して、PublishSubjectを返すことができます。これは可能ですが、呼び出し側がキャストでき、#onNext()を外部から呼び出せるようになります。

Observable#hide PublishSubjectから新しいObservableを作成するので、キャストはできません。

+0

グレート!ちなみに、Observable A onNext( "A")がある場合、Observable A callを呼び出します。Observable BもonNext( "A")を呼び出します。それはObservable BのObservable A pass valueと似ています。どうすればいいですか?たとえば、MVVMモデルの場合、View push ViewのView Click ViewModelおよびViewModelを購読できます。 ViewModelには – coinhndp

+0

の参照がないことに注意してください。この質問に対して新しい問題を作成してください。 –

関連する問題