C'è un modo per trasformare un Seq [Futuro [X]] in un Enumerator[X]? Il caso d'uso è che voglio ottenere risorse eseguendo la scansione del Web. Questo restituirà una Sequenza di Futures, e mi piacerebbe restituire un Enumeratore che spingerà i futuri nell'ordine in cui sono finiti per la prima volta sull'Iteratee.trasformare un Seq [Futuro [X]] in un Enumeratore [X]
Sembra che lo standard Future select gist di Victor Klang possa essere utilizzato per farlo, anche se sembra piuttosto inefficiente.
Nota: I Iteratees e Enumeratore di in questione sono quelle indicate dalla versione 2.x quadro di gioco, vale a dire con le seguenti importazioni: import play.api.libs.iteratee._
Ho modificato per utilizzare foldLeft che è più veloce di foldRight. –
Attento, 'Future.sequence' restituisce un futuro fallito se uno dei futures' seqFutureX' fallisce. –
e questa soluzione attende che tutti i futuri vengano completati prima di somministrare Iteratee, mentre un altro da @bblfish lo inserisce il prima possibile (senza ordine conservato!). – viktortnk