如何执行 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)