Asynchronous DBAction(parse.json).与play slick异步

Asynchronous DBAction(parse.json).与play slick异步,asynchronous,playframework-2.3,play-slick,Asynchronous,Playframework 2.3,Play Slick,我正在使用play slick。我正试图在一次巧妙的行动中回归未来,但我失败了: def test = DBAction(parse.json){ implicit request => scala.concurrent.Future { NotFound(Json.obj("error" -> "some error")) } } [error] found : scala.concurrent.Future[play.api.mv

我正在使用play slick。我正试图在一次巧妙的行动中回归未来,但我失败了:

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(正如文档中所说的用于未来的正常播放操作)似乎不可用。

自从我使用future.firstCompleteOf(DB调用,超时)以来,我最近遇到了同样的问题,而对我来说似乎有效的是使用DB.withSession

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

Future.firstCompleteOf(Seq(Future( 
    DB.withSession {implicit session => MyTable.findById(id) } ), timeoutFuture) ).map { 
      case Whatever => … 
}.recoverWith {
  case Whatever => … 
}