我有一个需要转换成另一个源的源。一路上,我还想挖掘流并将其发送到接收器。这也可以和toT和wireTap一起使用。
但是,我想在数据到达接收器之前对数据进行其他转换:
Source ---> map ---> scan ---> map ---> return as Source
\
\ alsoTo
\
\ ---> map --> Sink
在文档中,我读到:
可以将流附加到源,从而生成复合 源,也可以在流到水槽之前添加一个 新的水槽。
但是,我找不到将这样的流程添加到接收器的示例,例如在转发到接收器之前执行“映射”操作。
非常简化的示例:
val sink = Sink.foreach(println)
val source = Source(List(1, 2, 3, 4, 5))
val transformed_source = source.map(n => n * 10).alsoTo(sink).map(n => n + 1)
// but I want something along the lines of
alsoTo(map(n => "The result is " + n) ~> sink)
答案 0 :(得分:0)
我认为Flow.to是我想要的。
def to[Mat2](sink: Graph[SinkShape[Out], Mat2]): Sink[In, Mat]
将此流连接到接收器,并合并以下处理步骤: 两者。