【发布时间】:2015-07-03 19:25:58
【问题描述】:
您好,目前我在使用 Akka 和子 Actor 时在 Scala 上收到以下错误:
[warn] /Users/schmitch/projects/envisia/envisia-erp-loki/app/worker/CalculationWorker.scala:43: discarded non-Unit value
[warn] } yield cb1).map { data =>
[warn] ^
[warn] one warning found
目前我的演员收到:
override def receive = {
case cm: CalculationModal =>
val upper = sender() // To get the real sender we need to first have a good reference to him
log.debug(s"Got a new calculation")
(for {
cb1 <- (cn ? true).mapTo[Boolean]
} yield cb1).map { data =>
log.debug(s"Callback1: $data")
upper ! data
}
}
还有童星的收视:
override def receive = {
case _ =>
println(s"WS: $ws")
sender() ! true
}
但是我不知道为什么会收到此警告,因为第 43 行是应为布尔值且不会被丢弃的屈服线...目前稍后我想要 2 个具有 2 个回调 cb1 的子演员和 cb2 将独立计算,以便我有更好的并发性。
目前对于我的测试,它们都只返回 true。
【问题讨论】: