如何使用某些物化值创建接收器

问题描述 投票:0回答:1

我可以像这样构建简单的接收器:

Flow[Int].to(Sink.ignore)

但是,这个接收器是Sink[Int, NotUsed]类型,而我需要一些物化值类型。我该如何创建,例如Sink[Int, String]

scala akka-stream
1个回答
0
投票

Flow[Int]Flow[Int, Int, NotUsed]的缩写。所以它的物化价值是NotUsedto(Sink.ignore)也是toMat(Sink.ignore)(Keep.left)的缩写。它基本上保持了连接在一起的两个元素的第一个元素的物化值(在本例中为Flow[Int])。这取决于您希望如何将整数流转换为字符串。例如,您可以执行以下操作:

val x: Sink[Int, Future[immutable.Seq[String]]] = Flow[Int].map(_.toString).toMat(Sink.seq)(Keep.right)
© www.soinside.com 2019 - 2024. All rights reserved.