Sink.last
Materializes into a Future
CompletionStage
which will complete with the last value emitted when the stream completes.
Description
Materializes into a Future
CompletionStage
which will complete with the last value emitted when the stream completes. If the stream completes with no elements the Future
CompletionStage
is failed.
cancels never
backpressures never
Example
- Scala
-
source
val source = Source(1 to 10) val result: Future[Int] = source.runWith(Sink.last) result.map(println) // 10
- Java
-
source
Source<Integer, NotUsed> source = Source.from(Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)); CompletionStage<Integer> result = source.runWith(Sink.last(), materializer); result.thenAccept(System.out::println); // 10