在 akka-http 路由中,我可以Future
作为隐式转换为ToResponseMarshaller
.
有没有办法处理这个未来的超时?还是路由级别的连接超时?或者一种方法是使用Await()
函数?
现在客户可以永远等待响应。
complete {
val future = for {
response <- someIOFunc()
entity <- someOtherFunc()
} yield entity
future.onComplete({
case Success(result) =>
HttpResponse(entity = HttpEntity(MediaTypes.`text/xml`, result))
case Failure(result) =>
HttpResponse(entity = utils.getFault("fault"))
})
future
}