我想要一个函数返回一个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