1

Is there any functionality for an EventStream in ReactFX to cache the last value so it can be replayed to new subscribers? The RxJava Observable has a lot of procedures to do these kinds of tasks. I was hoping the EventStream might have a similiar functionality... unless I'm overlooking a reason why I would not want to do this in a GUI and I should stick to publish-only paradigms.

EventStream<Boolean> selectedEvt = EventStreams.changesOf(selected.selectedProperty())
.map(v -> v.getNewValue()).cache(1);
tmn
  • 11,121
  • 15
  • 56
  • 112

1 Answers1

2

ReactFX does not have those. The idea is that if you want to remember a value, use an ObservableValue/Val instead of an EventStream. Turn the ObservableValue/Val into an EventStream when necessary. Your above example can be rewritten more simply using valuesOf:

EventStream<Boolean> selectedEvt = EventStreams.valuesOf(selected.selectedProperty());

Streams created by valuesOf emit the current value of the underlying ObservableValue immediately after subscription, so they mimic the replay behavior you describe.

Tomas Mikula
  • 6,537
  • 25
  • 39