反应式 java 方法 hide()
类中的隐藏方法用于什么 Observable?我阅读了文档,但仍然不知道它的用途,我看到很多人使用它
hide()
Hides the identity of this Observable and its Disposable.
http://reactivex.io/RxJava/javadoc/io/reactivex/Observable.html
我们什么时候应该使用这种方法?
类中的隐藏方法用于什么 Observable?我阅读了文档,但仍然不知道它的用途,我看到很多人使用它
hide()
Hides the identity of this Observable and its Disposable.
http://reactivex.io/RxJava/javadoc/io/reactivex/Observable.html
我们什么时候应该使用这种方法?
如果你看一下文档,你会发现在下一句话中:
允许隐藏额外的功能,例如 Subject 的 Observer 方法或阻止某些基于身份的优化(融合)。
例如:
PublishSubject<Object> objectPublishSubject = PublishSubject.create();
Observable<Object> hide = objectPublishSubject.hide();
比方说,您在内部使用 PublishSubject,并且想要将可观察对象传递给外部世界。这将是一个好主意,因为信息隐藏。来自外部的调用方将无法在可观察量上调用#onNext()。因此,您可以使用 Observable 作为该方法的返回值,然后只返回 PublishSubject。这是可能的,但调用方将能够强制转换它,并能够从外部调用#onNext()。
Observable#hide 从 PublishSubject 创建一个新的 Observable,因此不可能进行强制转换。