Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
任何人都知道 BehaviorSubject 的自定义实现,一旦订阅者使用它就会丢弃最后一个值?
为什么这样的实现会是一个坏主意?
我以这种方式解决了这个问题:
<T> Observable<T> discardOnceDelivered(BehaviorSubject<T> subject) { return subject.filter(t -> t!=null).doOnNext(inputFields -> subject.onNext(null)); }
唯一的限制(在 Rx 1.x 中)是null值不被接受为有效的发出值,而是用于编码丢弃最后一个值的动作。
null