【问题标题】:Prepending flow-operations to a Sink将流操作添加到 Sink
【发布时间】:2019-03-04 14:29:35
【问题描述】:

我有一个需要转换为另一个的源。一路上,我还想利用流并将其发送到接收器。这适用于alsoTo 和wireTap。

但是,我想在数据到达接收器之前对其进行额外的转换:

Source ---> map ---> scan ---> map ---> return as Source
                           \
                            \ alsoTo
                             \
                              \ ---> map --> Sink

在文档中,我读到:

可以将 Flow 附加到 Source 从而产生复合 源,也可以将流添加到接收器以获取 新水槽。

但是,我找不到将这样的流添加到接收器的示例,例如在转发到 Sink 之前执行“map”操作。

非常简单的例子:

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)

【问题讨论】:

    标签: akka-stream


    【解决方案1】:

    我认为 Flow.to 是我正在寻找的。​​p>

    def to[Mat2](sink: Graph[SinkShape[Out], Mat2]): Sink[In, Mat]
    

    将此流连接到一个接收器,连接处理步骤 两者都有。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-12-05
      • 1970-01-01
      • 1970-01-01
      • 2018-09-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多