Akka 流解析到 Source

Akka streams parse to Source

我要解析

val flow : FlowOps = Source(1 to 10).map(_+1)

Source 但看起来没有简单的方法。我已经完成了这个解决方法

Source.fromGraph(

      GraphDSL.create() { builder =>

        val flow = Source(1 to 10).map(_+1)

        SourceShape(builder.add(flow).out)
      }
    )

为了再次获得简单流而将简单流转换为图形似乎有些矫枉过正。有没有更简单的方法?

如果我没理解错的话,你想使用Source(1 to 10).map(_ + 1)作为Source[Int, _]类型的值,对吧?但是您不需要为此做任何特别的事情,因为 map() 已经 returns 一个适当类型的 Source。如果你只写

val source = Source(1 to 10).map(_ + 1)

然后 source 将具有类型 Source[Int, NotUsed]。您可以通过显式放置适当的签名来轻松检查它:

val source: Source[Int, NotUsed] = Source(1 to 10).map(_ + 1)

我什至不确定你为什么使用 FlowOps 类型注释。 FlowOps,正如它的 scaladoc 所暗示的那样,是 akka-stream 内部的一部分 API,不应在库本身之外使用。