我想取这个值:
val f = List(Future(1), Future(2), Future(3))
对其执行某些操作(我在考虑压平操作)
f.flatten
并获得这个结果
scala> f.flatten = List(1,2,3)
如果flatten方法在这里不合适,那没关系。只要我得到结果就好。
谢谢!
我想取这个值:
val f = List(Future(1), Future(2), Future(3))
对其执行某些操作(我在考虑压平操作)
f.flatten
并获得这个结果
scala> f.flatten = List(1,2,3)
如果flatten方法在这里不合适,那没关系。只要我得到结果就好。
谢谢!
Future.sequence
接受一个 List[Future[T]]
并返回一个 Future[List[T]]
。
你可以这样做:
Future.sequence(f)
然后使用map
或onComplete
来访问该值列表。
Future
中的结果将是你的列表。 - Gabriele PetronellaFuture
通常不会打印其内部内容(这意味着阻塞)。如果您执行 Future(1)
,您将得到类似于 scala.concurrent.impl.Promise$DefaultPromise@78393fdb
的东西。对于测试,您可以使用类似于 Await.result(f, 2.seconds)
的东西。 - lmm