gpt4 book ai didi

android - "Subject.asObservable()"和主题本身 "Subject"之间有什么区别吗?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:26:36 24 4
gpt4 key购买 nike

如果 Subject 继承自 Observable,那么基于任何 Subject 的下一个选项有什么区别,例如:

private val locationSubject: ReplaySubject<Location> = ReplaySubject.create<Location>()

1.subject 本身作为 Observable 返回

fun getLocations(): Observable<Location> = locationSubject

2. 返回 subject.asObservable()

fun getLocations(): Observable<Location> = locationSubject.asObservable()

最佳答案

如果您查看 .asObservable 的实现,您会发现它通过一个什么都不做的运算符提升了 observable。这实际上只是将您的主题包装在一个可观察对象中,这使得使用代码无法将其转换回主题。

asObservable 是一种防御机制,用于隐藏实现细节,仅此而已。

关于android - "Subject.asObservable()"和主题本身 "Subject"之间有什么区别吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43875168/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com