I'm aware of the caveats about sender and closing over mutable state, but
in this case the list was a plain list, not a Future. But thanks for
showing an alternative.

On Mon, Sep 22, 2014 at 7:30 AM, Björn Antonsson <
bjorn.antons...@typesafe.com> wrote:

> 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 (rrods...@gmail.com)
> 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 akka-user+unsubscr...@googlegroups.com.
> To post to this group, send email to akka-user@googlegroups.com.
> 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 <http://typesafe.com/> – Reactive Apps on the JVM
> twitter: @bantonsson <http://twitter.com/#!/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 akka-user+unsubscr...@googlegroups.com.
> To post to this group, send email to akka-user@googlegroups.com.
> Visit this group at http://groups.google.com/group/akka-user.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
>>>>>>>>>>      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 akka-user+unsubscr...@googlegroups.com.
To post to this group, send email to akka-user@googlegroups.com.
Visit this group at http://groups.google.com/group/akka-user.
For more options, visit https://groups.google.com/d/optout.

Reply via email to