Hi Richard,
When dealing with futures, inside actors you should generally be careful with
using sender, since the code that is executed when the future is completed
isn't run inside the actor and the meaning of sender might have changed. In
this case, the pipeTo pattern will keep you safe, but it's easy to mess up.
If you don't plan to use the intermediate I would collapse the map and foreach
into a single foreach.
val recipient = sender
requests.foreach { responseFuture => {
responseFuture.map(response => s"success $response").recover({ case _ =>
"failed"}) pipeTo recipient
}}
B/
On 19 September 2014 at 20:46:50, Richard Rodseth ([email protected]) wrote:
I'm still getting used to all the flavours of future composition. Fun stuff.
Is there a better way than the following to pipe a list of futures to the
sender (one message per future) ?
val requests:List[Future[SomeResponse]] = ...
val messages:List[Future[String]] = requests.map { responseFuture => {
val msgFuture:Future[String] = responseFuture.map(response => s"success
$response").recover { case _ => "failed"}
msgFuture
}}
messages.foreach { msg =>
msg pipeTo sender
}
--
>>>>>>>>>> Read the docs: http://akka.io/docs/
>>>>>>>>>> Check the FAQ:
>>>>>>>>>> http://doc.akka.io/docs/akka/current/additional/faq.html
>>>>>>>>>> Search the archives: https://groups.google.com/group/akka-user
---
You received this message because you are subscribed to the Google Groups "Akka
User List" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/akka-user.
For more options, visit https://groups.google.com/d/optout.
--
Björn Antonsson
Typesafe – Reactive Apps on the JVM
twitter: @bantonsson
--
>>>>>>>>>> Read the docs: http://akka.io/docs/
>>>>>>>>>> Check the FAQ:
>>>>>>>>>> http://doc.akka.io/docs/akka/current/additional/faq.html
>>>>>>>>>> Search the archives: https://groups.google.com/group/akka-user
---
You received this message because you are subscribed to the Google Groups "Akka
User List" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/akka-user.
For more options, visit https://groups.google.com/d/optout.