一些超时值,假设我有一个未来:等待对未来
val fut = future(...)
我想等一段时间,在这个未来,如果超时未来应该返回一些预定义的值。 我知道这是可能等待未来,但我想避免这样的代码:
try {
val result = Await.result(fut, timeout)
} catch {
case ex: TimeoutException => ???
}
也许有一个功能更强大的方法呢?
编辑 我有一个演员,被要求返回一些价值。 Akka的ask
具有隐含参数超时以及Await.result
。 第一个问题是这些超时如何与相互关联?第二个问题是:我想从演员那里得到结果。我需要首先问问演员,然后等待未来的回归,我是否应该对这两个功能使用相同的超时时间?
什么是执行询问处理结果的演员?那么演员然后发送一些基于该结果回到其发送者或是只是根据询问的结果采取一些内部操作? – cmbaxter