【发布时间】:2019-01-20 20:19:14
【问题描述】:
val pageDataFutures : Seq[Future[PageData]]= ??? //4 api calls each resulting in a future of PageData
def source : Source[PageData, NotUsed] = Source(
pageDataFutures.flatMap(future => Await.result(future,atMost)).toList
)
source.runForeach(println)
我希望源在每个未来完成时运行'runForEach'。但是,所有 4 个 api 调用都进行了,然后源中的数据都被一次打印出来。它不应该将数据打印为可用吗?我为每个未来使用Await。所以保证在下一个future是Awaited之前,前一个future的结果是可用的,可以被println使用
【问题讨论】:
标签: scala akka akka-stream