【发布时间】:2014-05-22 22:49:39
【问题描述】:
我有一个等待未来结果的演员。调用未来的 onComplete 会导致编译器错误:
错误:无法将构造函数实例化为预期类型 [scalac] 发现:akka.actor.Status.Success [scalac] 必需:scala.util.Try[Iterable[Any]] [scalac] case Success(result: List[PCBInstanceStats]) => { [scalac] ^
演员的收视率:
case "pcbStatus" => {
val future = Future.traverse(context.children)(x => {
(x ? "reportStatus")(5 seconds)
})
future.onComplete {
case Success(result: List[PCBInstanceStats]) => {
self ! result
}
}
不确定如何为此提供正确的参数类型。
【问题讨论】:
-
尝试添加
Failure吗?也许该类型是在Success[List[PP]] => Unit而不是Try[List[PP]] => Unit创建的。 -
您也可以使用
pipeTo模式,如doc.akka.io/docs/akka/snapshot/scala/… 所述