【问题标题】:Collecting sink materialized values as source收集接收器物化值作为源
【发布时间】:2016-12-17 06:35:33
【问题描述】:

是否有更好的方法(即通过删除Materializer 约束)来实现以下方法:

import akka.NotUsed
import akka.stream.Materializer
import akka.stream.scaladsl.{Keep, Sink, Source}

def assemble[A, B, C](source: Source[A, NotUsed])
                     (f: A => Source[B, NotUsed], g: A => Sink[B, C])
                     (implicit m: Materializer): Source[C, NotUsed] = {

  source.map(a => f(a).toMat(g(a))(Keep.right).run())
}

?

【问题讨论】:

    标签: scala akka-stream


    【解决方案1】:

    基本上,您是在物化一堆图表并创建它们的物化值的Source。 如果没有 Materializer 参数,我看不到这样做的方法。

    如果有帮助,您可以以更紧凑的方式编写方法

    source.map(a => f(a).runWith(g(a)))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-12-27
      • 1970-01-01
      • 2014-04-22
      • 2015-03-02
      • 1970-01-01
      • 2021-11-21
      相关资源
      最近更新 更多