[英]Composing Future List Akka Scala
我正在嘗試從Akka演員那里收集“未來”自定義對象的列表,這是我的代碼:
var game_manager_backends: List[ActorRef] = List()
implicit val ec = context.dispatcher
val taskFutures: List[Future[Game]] = game_manager_backends map { gm_be =>
implicit val timeout = Timeout(5 seconds)
val result = gm_be ? GameStatus
}
val searchFuture = Future sequence taskFutures
searchFuture.onSuccess {
case results: List[Game] => origin ! results
}
這個
game_manager_backends
是包含我要問一個Game
對象的所有演員的列表,然后我想將所有這些Game
對象收集到一個列表中,然后發回原始演員,通過這種實現,這是在map
行上給我的錯誤:
type mismatch; found : List[Unit] required: List[scala.concurrent.Future[common.Game]]
我怎么解決這個問題?
謝謝
您將獲得Unit
原因,因為它不會在map
內返回任何值(以上在注釋中對此建議的修復)。
?
在akka上要求返回Future[Any]
但您希望Future[common.Game]
修復此問題-需要額外的映射。
result map { case a@Game => a }
更改val result = gm_be ? GameStatus
val result = (gm_be ? GameStatus).mapTo[Game]
val result = gm_be ? GameStatus
val result = (gm_be ? GameStatus).mapTo[Game]
。 您也不需要將其設為val
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.