Sink.lastOption

Materialize a Future[Option[T]] which completes with the last value emitted wrapped in an Some when the stream completes.

Sink operators

Signature

Sink.lastOption

Description

Materialize a Future[Option[T]] which completes with the last value emitted wrapped in an Some when the stream completes. if the stream completes with no elements the CompletionStage is completed with None .

Example

Scala
Java
sourceval source = Source.empty[Int]
val result: Future[Option[Int]] = source.runWith(Sink.lastOption)
result.map(println)
// None
sourceSource<Integer, NotUsed> source = Source.empty();
CompletionStage<Optional<Integer>> result = source.runWith(Sink.lastOption(), system);
result.thenAccept(System.out::println);
// Optional.empty

Reactive Streams semantics

cancels never

backpressures never