首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带play-slick的DBAction(parse.json).async

带play-slick的DBAction(parse.json).async
EN

Stack Overflow用户
提问于 2014-07-02 16:34:35
回答 1查看 369关注 0票数 1

我正在使用play-slick。我试图在一个圆滑的DBaction中找回未来,但我失败了:

代码语言:javascript
复制
def test = DBAction(parse.json){ implicit request =>
      scala.concurrent.Future {
        NotFound(Json.obj("error" -> "some error"))
      } 
}

[error]  found   : scala.concurrent.Future[play.api.mvc.Result]
[error]  required: play.api.mvc.Result

我该如何回报这个未来?Async {}现在在2.3中消失了,DBAction().async (正如文档中所说的用于正常的未来播放动作)似乎不可用。

EN

回答 1

Stack Overflow用户

发布于 2014-08-18 16:26:18

我最近遇到了同样的问题,因为我使用的是Future.firstCompleteOf(数据库调用,超时),而对我来说似乎起作用的是使用DB.withSession。

所以我的控制器操作仍然停留在一个Action.async块中,然后我的未来看起来像这样

代码语言:javascript
复制
Future.firstCompleteOf(Seq(Future( 
    DB.withSession {implicit session => MyTable.findById(id) } ), timeoutFuture) ).map { 
      case Whatever => … 
}.recoverWith {
  case Whatever => … 
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24526479

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档