Dan*_*ico 4 android kotlin rx-java
如果Subject继承自Observable,那么基于任何Subject类似的下一个选项的区别是什么:
private val locationSubject: ReplaySubject<Location> = ReplaySubject.create<Location>()
Run Code Online (Sandbox Code Playgroud)
1.回归subject自己Observable
fun getLocations(): Observable<Location> = locationSubject
Run Code Online (Sandbox Code Playgroud)
2.回归subject.asObservable().
fun getLocations(): Observable<Location> = locationSubject.asObservable()
Run Code Online (Sandbox Code Playgroud)
如果你看一下你的实现,.asObservable你会看到它通过一个什么都不做的运算符来提升observable.这实际上只是将您的主题包装在一个可观察的对象中,这使得消费代码无法将其转换回主题.
asObservable 是隐藏实现细节的防御机制,而不是其他.
| 归档时间: |
|
| 查看次数: |
537 次 |
| 最近记录: |