一些超時值,假設我有一個未來:等待對未來
val fut = future(...)
我想等一段時間,在這個未來,如果超時未來應該返回一些預定義的值。 我知道這是可能等待未來,但我想避免這樣的代碼:
try {
val result = Await.result(fut, timeout)
} catch {
case ex: TimeoutException => ???
}
也許有一個功能更強大的方法呢?
編輯 我有一個演員,被要求返回一些價值。 Akka的ask
具有隱含參數超時以及Await.result
。 第一個問題是這些超時如何與相互關聯?第二個問題是:我想從演員那裏得到結果。我需要首先問問演員,然後等待未來的迴歸,我是否應該對這兩個功能使用相同的超時時間?
什麼是執行詢問處理結果的演員?那麼演員然後發送一些基於該結果回到其發送者或是隻是根據詢問的結果採取一些內部操作? – cmbaxter