如何执行 Akka 流源?
How to execute an Akka Streams Source?
我有一个 Source
这样的:
val colorSource = myMethod(ctx, id)
.via(framing("\n"))
.map(_.utf8String)
.map(_.trim)
.map(c => ColorParser(c))
.collect {
case Right(color) => color
}
我怎样才能 运行 这个并得到 List[Color]
?对于初学者,我想打印它以查看内容,然后还可以将 List[Color]
传递给其他方法。
我这样做是为了打印它,但没有成功:
val values = for {
t <- colorSource.runWith(Sink.ignore)
} yield t
total.map(println _)
获得Future[List[Color]]
:
val colorList: Future[List[Color]] =
colorSource
.runWith(Sink.seq[Color])
.map(_.toList)
如果您只想打印流的内容:
colorSource.runForeach(println)
我有一个 Source
这样的:
val colorSource = myMethod(ctx, id)
.via(framing("\n"))
.map(_.utf8String)
.map(_.trim)
.map(c => ColorParser(c))
.collect {
case Right(color) => color
}
我怎样才能 运行 这个并得到 List[Color]
?对于初学者,我想打印它以查看内容,然后还可以将 List[Color]
传递给其他方法。
我这样做是为了打印它,但没有成功:
val values = for {
t <- colorSource.runWith(Sink.ignore)
} yield t
total.map(println _)
获得Future[List[Color]]
:
val colorList: Future[List[Color]] =
colorSource
.runWith(Sink.seq[Color])
.map(_.toList)
如果您只想打印流的内容:
colorSource.runForeach(println)