在我的控制器中,我有一个方法,调用将消息传递给actor A,从A接收响应,将该响应传递给actor B,最后呈现响应。
代码看起来像这样
def abc(userId: String): Action[AnyContent] = Action.async(implicit request => {
implicit val timeout: Timeout = 5.seconds
(AActor ? ARequest(userId)).mapTo[AResponse].map { aResponse =>
aResponse.ar match {
case Some(x) => {
((BActor ? BRequest(x)).mapTo[BResponse].map { bResponse =>
(bResponse.br).map(o => Ok(Json.toJson(o))).getOrElse(BadRequest("not found"))
})
}
case None => BadRequest(Messages("not found"))
}
}
}
我收到以下错误消息
Found: scala.concurrent.Future[play.api.mvc.Result] Required: play.api.mvc.Result
我理解,在Some(x)
的情况下,它希望函数返回一个结果,但如果我想链接消息,我应该怎么做呢?
谢谢,
UTSAV