concat
After completion of the original upstream the elements of the given source will be emitted.
Signature
Source.concat
Source.concat
Flow.concat
Flow.concat
Description
After completion of the original upstream the elements of the given source will be emitted.
Example
- Scala
-
import akka.stream.scaladsl.Sink import akka.stream.scaladsl.Source val sourceA = Source(List(1, 2, 3, 4)) val sourceB = Source(List(10, 20, 30, 40)) sourceA.concat(sourceB).runWith(Sink.foreach(println)) //prints 1, 2, 3, 4, 10, 20, 30, 40
- Java
-
import akka.stream.javadsl.Source; import akka.stream.javadsl.Sink; import java.util.Arrays; Source<Integer, NotUsed> sourceA = Source.from(Arrays.asList(1, 2, 3, 4)); Source<Integer, NotUsed> sourceB = Source.from(Arrays.asList(10, 20, 30, 40)); sourceA.concat(sourceB).runWith(Sink.foreach(System.out::print), system); // prints 1, 2, 3, 4, 10, 20, 30, 40
Reactive Streams semantics
emits when the current stream has an element available; if the current input completes, it tries the next one
backpressures when downstream backpressures
completes when all upstreams complete