2016-04-06 22 views
2

Şu gibi korkak bir yapı üzerinde beklemeye çalışıyorum: Future[List[Future[List[Object]]]]. Sadece en dıştan kurtulmak için bekler, basit bir List[Object]'a doğru temizlemenin temiz bir yolu var mı?Düzleştirici Listesi + Gelecek için Scala

+1

nasıl 'Gelecek ile düştün' [Liste [Gelecek [List []]] Nesne]? Eminim ki bir yerdeki bir flatMap'ı kaçırdın. – 757071

cevap

8

Future.sequence kullanma:

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

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