我正在尝试将 ActorRef 传递给调用客户端。这是一些代码:
object Sub {
implicit val timeout = Timeout(5 seconds)
lazy val default = {
val subActor = Akka.system.actorOf(Props[Sub], "sub")
subActor
}
def apply(pChannel: Concurrent.Channel[JsValue]):ActorRef = {
(default ? Register(callback)).map {
case ref:ActorRef => ref
}
}
}
调用它的客户端只是调用val sub:ActorRef = Sub(channel)
然而,我遇到的问题是:
[error] found : scala.concurrent.Future[akka.actor.ActorRef]
[error] required: akka.actor.ActorRef
如何修改上面的代码以获取调用代码的 ActorRef 以获得它需要的 ref?