【发布时间】:2014-06-17 11:42:08
【问题描述】:
假设我有一个未来:
val fut = future(...)
我想在这个未来等待一段时间,如果超时到期,未来应该返回一些预定义的值。 我知道将来可以等待,但我想避免这样的代码:
try {
val result = Await.result(fut, timeout)
} catch {
case ex: TimeoutException => ???
}
也许有更实用的方法?
编辑
我有一个演员被要求返回一些价值。
Akka 的ask 和Await.result 具有隐式参数超时。
第一个问题是这些超时如何相互关联?第二个问题是:我想从演员那里得到结果。我需要先询问演员,然后等待返回的未来,我应该为这两个函数使用相同的超时吗?
【问题讨论】:
-
执行询问的演员对结果做了什么?然后该参与者是根据该结果将某些内容发送回其发送者,还是只是根据询问的结果在内部采取一些行动?