在Akka演员之间发送一个未来作为消息



我正在调用一个web服务,该服务在Akka参与者中返回一个Option[Future[String]]。现在我需要旋转一个新的子actor并传递这个Option[Future[String]]并停止actor。在童星中,我想等待未来完成,这样我就可以用结果做点什么。在阿卡演员中间传期货可以吗?

警告:未编译,如有疑问请参阅doc.akka.io

import akka.pattern.pipeTo
def receive = {
  case something =>
    webService.call() foreach { _ pipeTo context.actorOf(Props[Child]) }
}

这个想法是,如果web服务不返回任何东西(None),则不需要子actor,如果它返回Some(future),则将该future的结果发送给新创建的子actor。一旦收到webservice调用的结果,新创建的子actor就可以自终止。

最新更新