天天看點

Scala中Akka發送異步有傳回值、傳回值Future[Any] 20

  • 樣例類 case class ReturnMes(map:Map[String,Int])
  • react 方法中接收到消息傳回結果 sender ! ReturnMes(map)
  • object中,發送消息後接收到結果,得到未來的某一個結果

    val future:Future[Any] = actor !! sendMes(array(0))

    val result:Any = future.apply()

  • 如果sender傳回的結果是對象,Any就是AnyRef,需要強轉為ReturnMes(map)

    val resultNew:ReturnMes = result.asInstanceOf[ReturnMes]

    resultNew.map 就可以得到react方法中發送的結果了。

  • 如果sender傳回的結果是數值類型,Any就是AnyValue,不需要強轉就可以直接列印