簡體   English   中英

撰寫未來清單Akka Scala

[英]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]]

我怎么解決這個問題?

謝謝

  1. 您將獲得Unit原因,因為它不會在map內返回任何值(以上在注釋中對此建議的修復)。

  2. ? 在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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM