我想要一個函數返回一個Future[Option[String]]
並與噴霧路由的onComplete
指令一起使用。但無論我做什麼,我似乎都無法得到它的工作。問題與噴霧路由和未來[選項[字符串]]
比方說,我有以下功能:
def expensiveOperation: Future[Option[String]] = { ... do stuff ... }
然後我想定義的我Route
一部分這樣:
onComplete(expensiveOperation) {
case Success(string) => complete(string)
case Failure(_) => complete("failure")
}
有沒有辦法做到這一點沒有寫一個單獨的功能將Future[Option[String]]
轉換爲基本的Future[String]
?
這些都非常優雅,但由於某種原因,我不能讓它去。當我運行一個非常簡單的函數返回一個'Future [Option [String]]'時,一切運行良好,但我有一個函數查詢Riak並返回一個'Future [Option [String]]'並且自行工作得很好但似乎在Spray路由上下文中默默無聞。嗯。 – lucperkins