Package org.reactfx

Interface TaskStream<T>

All Superinterfaces:
EventStream<javafx.concurrent.Task<T>>, Observable<Consumer<? super javafx.concurrent.Task<T>>>
All Known Implementing Classes:
MappedToTaskStream

public interface TaskStream<T> extends EventStream<javafx.concurrent.Task<T>>
  • Method Details

    • await

      default AwaitingEventStream<Try<T>> await()
      Returns a new stream that emits the results of tasks emitted from this stream when they become available.

      Note that results from the returned stream may arrive in different order than the tasks emitted from this stream, due to asynchrony.

      If a task emitted by this stream fails with exception e, Try.failure(e) is emitted from the returned stream.

    • awaitLatest

      default AwaitingEventStream<Try<T>> awaitLatest()
      Similar to await(), with one difference: for tasks t1 and t2 emitted from this stream in this order, if t2 arrives before t1 is completed, then t1 is cancelled and its result is discarded (i.e. not emitted from the returned stream).
      See Also:
    • awaitLatest

      default AwaitingEventStream<Try<T>> awaitLatest(EventStream<?> canceller)
      Similar to awaitLatest(), with one addition: When an event is emitted from canceller, if the task most recently emitted from this stream has not yet completed, it is cancelled and its result discarded (i.e. not emitted from the returned stream).
      Parameters:
      canceller - An event from this stream causes the currently expected result (if any) to be discarded. It can be used to signal that a new task will arrive from this stream shortly, which makes the currently expected result outdated.
      See Also: