ReactFX中的EventStream
是否有任何功能来缓存最后一个值,以便可以向新订阅者重播?RxJava Observable
有很多过程来完成这类任务。我希望EventStream
可能有类似的功能。。。除非我忽略了为什么我不想在GUI中这样做的原因,并且我应该坚持只发布范式。
EventStream<Boolean> selectedEvt = EventStreams.changesOf(selected.selectedProperty())
.map(v -> v.getNewValue()).cache(1);
ReactFX没有这些。其想法是,如果您想记住一个值,请使用ObservableValue
/Val
而不是EventStream
。必要时将ObservableValue
/Val
转换为EventStream
。使用valuesOf
:可以更简单地重写上面的示例
EventStream<Boolean> selectedEvt = EventStreams.valuesOf(selected.selectedProperty());
valuesOf
创建的流在订阅后立即发出底层ObservableValue
的当前值,因此它们模仿您描述的重放行为。