Scala 复杂未来展开

Scala 复杂未来展开,scala,future,Scala,Future,我知道我可以打开包装 Future[Future[Seq]] => Future[Seq] 具有平面映射功能 但我如何获得以下映射 Future[Seq[Future[Seq]]] => Future[Seq[Seq]] Future.sequence将Seq[Future[…]]更改为Future[Seq[…]] 所以,像这样:obj.flatMap(x=>Future.sequence(x))也许 Future.sequence将aSeq[Future[…]]更改为aFutu

我知道我可以打开包装

Future[Future[Seq]] => Future[Seq]
具有平面映射功能

但我如何获得以下映射

Future[Seq[Future[Seq]]] => Future[Seq[Seq]]

Future.sequence
Seq[Future[…]]
更改为
Future[Seq[…]]


所以,像这样:
obj.flatMap(x=>Future.sequence(x))
也许

Future.sequence
将a
Seq[Future[…]]
更改为a
Future[Seq[…]


所以,像这样:
obj.flatMap(x=>Future.sequence(x))
也许

这对我来说就像魔术一样:

implicit class RichFutureSeqFutures[A](futureSeqFutures: Future[Seq[Future[A]]]) {
  def flattenInner: Future[Seq[A]] = {
    futureSeqFutures flatMap {Future.collect(_)}
  }
}

来源于“这里”

这对我来说就像魔术一样:

implicit class RichFutureSeqFutures[A](futureSeqFutures: Future[Seq[Future[A]]]) {
  def flattenInner: Future[Seq[A]] = {
    futureSeqFutures flatMap {Future.collect(_)}
  }
}

来源于“这里”

错误:value
collect
不是object
scala.concurrent.Future的成员。错误:value
collect
不是object
scala.concurrent.Future的成员