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
将aSeq[Future[…]]
更改为aFuture[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
不是objectscala.concurrent.Future的成员。错误:valuecollect
不是objectscala.concurrent.Future的成员