我刚开始使用Akka Stream,正在尝试解决一个问题:
目前,在我的flows中,我使用mapAsync()与我的rest服务集成,如此处推荐的一样。
我一直在想,mapAsync()应该使用哪个执行上下文? 是ActorSystem的调度程序?全局的? 在任何情况下都有非明显的后果吗?
我意识到这可能是一个愚蠢的问题,但我以前从未处理过Akka,在任何涉及Futures的Scala应用程序中,我只使用了全局执行上下文。
我刚开始使用Akka Stream,正在尝试解决一个问题:
目前,在我的flows中,我使用mapAsync()与我的rest服务集成,如此处推荐的一样。
我一直在想,mapAsync()应该使用哪个执行上下文? 是ActorSystem的调度程序?全局的? 在任何情况下都有非明显的后果吗?
我意识到这可能是一个愚蠢的问题,但我以前从未处理过Akka,在任何涉及Futures的Scala应用程序中,我只使用了全局执行上下文。
Future
。该 future 的执行上下文取决于创建它的人,flow 对此一无所知。Future[A]
是一个抽象概念,你不需要知道它在哪里运行。它甚至可以是一个不需要执行上下文的预先计算的值:def mappingFunction(x: Int) = Future.successful(x * 2)
Source(List(1, 2, 3)).mapAsync(1)(mappingFunction)