0
val works: Seq[Future[Seq[Future[String]]]] = ...
如何等待所有這些頂部和嵌套Futures
完成?等待所有嵌套期貨完成
我的第一個想法是:
val result1: Seq[Seq[Future[String]]] = Await.result(
Future.sequence(works), Duration.Inf
)
val result2: Seq[String] = Await.result(
Future.sequence(result1.flatten), Duration.Inf
)
但我想它並不像effiecient,因爲它可以。
如何做一個結了'序列[未來[序列[未來[字符串]]]]在第一個地方? –
@mz https://github.com/Sergey80/scala-samples/blob/master/src/main/scala/concurrency/NestedFutures.scala – ses
是的,儘管嵌套代數數據結構並遞歸匹配它是個好主意,但未來不是ADT。你最好儘快把它們弄平 – ipoteka