Ho una collezione di Promises
. Stavo cercando un modo efficace per comporre lo Futures
risultante. Attualmente il modo più pulito ho trovato di combinarli è stato quello di utilizzare uno scalaz Monoid
, in questo modo:Come compongo un elenco di `Futures`?
val promises = List(Promise[Unit], Promise[Unit], Promise[Unit])
promises.map(_.future).reduce(_ |+| _).onSuccess {
case a => println(a)
}
promises.foreach(_.success(()))
C'è un modo pulito per fare questo che non richiede scalaz?
Il numero di Futures
nella raccolta varierà e molte raccolte intermedie non sono desiderabili.
Ti dispiacerebbe aggregare "Futures" anziché "Promesse"? –
Questo è quello che sto facendo qui, estraggo il futuro con .map() –