?

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>)

でいけた!