我有两个演员,A 和 B。我的伪代码如下所示:
if A has a given state
return "ok"
else
send a message to B and return "ok" when B is done handling the message
这是我使用 Await 的实现:
val f1 = (A ? GetState).mapTo[Option[State]]
f1.map {
case Some(state) => "OK"
case None =>
val f2 = B ? Process
Await.result(f2, 1 seconds) // todo: get rid of this
"OK"
}
如果没有等待,我无法弄清楚如何实现这一点。任何人?