作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的代码简化如下:
path("path") {
post {
val routeFuture: Future[StandardRoute] = Future {
//some app logic
utilFunctionRoute()
}
??? // complete the request
}
}
在某一时刻,我有包含我的结果的 Future[StandardRoute],但我不知道如何在不阻塞 Future 的情况下完成此请求。
最佳答案
在处理 futures 时,您可以使用 onComplete
来完成请求,无阻塞
。 onComplete
采用 future,然后我们可以对 success
和 failure
进行模式匹配来准备 Http 响应。
path("path") {
post {
val routeFuture: Future[StandardRoute] = Future {
utilFunctionRoute()
}
onComplete(routeFuture){
case util.Success(f) =>
complete(StatusCodes.OK)
case util.Failure(ex) =>
complete(StatusCodes.InternalServerError )
}
}
关于scala - 如何使用 Future[StandardRoute] 完成请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40068505/
我的代码简化如下: path("path") { post { val routeFuture: Future[StandardRoute] = Future { //som
我的代码简化如下: path("path") { post { val routeFuture: Future[StandardRoute] = Future { //som
我是一名优秀的程序员,十分优秀!