展平Scala的List + Future

时间:2016-04-06 23:12:28

标签: scala collections future

我试图在这样一个时髦的结构上等待:Future[List[Future[List[Object]]]]。等待只摆脱最外层的未来,是否有一种简洁的方式将其修剪为一个简单的List[Object]

1 个答案:

答案 0 :(得分:9)

使用Future.sequence

val original: Future[List[Future[List[Object]]]] = // ...

val futureList = 
  original.flatMap(l => Future.sequence(l)) // Future[List[List[Object]]]
    .map(_.flatten)                         // Future[List[Object]]