【发布时间】:2017-01-24 12:45:20
【问题描述】:
任何人都知道 BehaviorSubject 的自定义实现,一旦订阅者使用它就会丢弃最后一个值?
为什么这样的实现是个坏主意?
【问题讨论】:
-
那你为什么使用 BehaviorSubject 使用 PublishSubject 代替。
-
因为我希望价值一直存在,直到有订阅者为止。
-
如果同时订阅多个订阅者,您是否希望所有订阅者在到达时都收到相同的值?单个订阅者可以消费多个值,还是在获得项目后立即取消订阅?
-
这些是有效积分。假设我目前只想拥有一个订阅者,并且该订阅者应该保持订阅状态并消耗更多发出的值。
-
如果该订阅者退订然后再次订阅怎么办? (我的情况)我想有一种机制来“消费”发出的值:如果某个订阅者收到一个值,则丢弃它。