FutureとSeqのネストをフラットにする
やりたかったこと
val foo: Seq[Future[Seq[Int]]]
を
Future[Seq[Int]]
にしたかった
scala> import scala.concurrent.ExecutionContext.Implicits._ import scala.concurrent.ExecutionContext.Implicits._ scala> val foo: Seq[Future[Seq[Int]]] = Seq(Future(Seq(1))) foo: Seq[scala.concurrent.Future[Seq[Int]]] = List(Future(Success(List(1)))) scala> Future.sequence(foo).map(_.flatten) res1: scala.concurrent.Future[Seq[Int]] = Future(<not completed>)
でいけた!