Я пытаюсь объединить два потока и не могу объяснить результат моей реализации.
val source = Source(1 to 10)
val sink = Sink.foreach(println)
val flow1 = Flow[Int].map(s => s + 1)
val flow2 = Flow[Int].map(s => s * 10)
val flowGraph = Flow.fromGraph(
GraphDSL.create() { implicit builder =>
import GraphDSL.Implicits._
val concat = builder.add(Concat[Int](2))
val broadcast = builder.add(Broadcast[Int](2))
broadcast ~> flow1 ~> concat.in(0)
broadcast ~> flow2 ~> concat.in(1)
FlowShape(broadcast.in, concat.out)
}
)
source.via(flowGraph).runWith(sink)
Я ожидаю следующего вывода из этого кода.
2
3
4
.
.
.
11
10
20
.
.
.
100
Вместо этого я вижу, что печатается только "2". Не могли бы вы, пожалуйста, объяснить, что не так в моей импликации и как я должен изменить программу, чтобы получить желаемый результат.