web-dev-qa-db-fra.com

Comment aplatir une liste de contrats à terme dans Scala

Je veux prendre ce val:

val f = List(Future(1), Future(2), Future(3))

Effectuer une opération dessus (je pensais aplatir)

f.flatten

Et obtenez ce résultat

scala> f.flatten = List(1,2,3)

Si la méthode d'aplatissement n'est pas appropriée ici, c'est bien. Tant que j'arrive au résultat.

Merci!

33
mikejones1477

Future.sequence prend un List[Future[T]] et renvoie un Future[List[T]].

Tu peux faire

Future.sequence(f) 

puis utilisez map ou onComplete dessus pour accéder à la liste des valeurs.

67