Scala找到了预期未来的单元[结果]


def update() = AuthAction.async(parse.json) { implicit request =>
val list = request.body.asInstanceOf[JsArray].value
list.foreach( mapping => {
repository.update()
}.andThen {
case Success(value) => repository.update2()
case Failure(exception) => {
BadRequest(errorResponse(Json.toJson(""), "updation failed"))
}
})
}

我有一个控制器函数,我想等待DB repo函数(repository.update2(((完成,然后发送响应,但它说";Found Unit expected Future[结果]";

您的success子句可能正在返回需要Future响应的Unit。试试这个:

.andThen {
case Success(value) =>
repository.update2()
Future.successful(Ok("repository updated"))
case Failure(exception) =>
Future.successful(BadRequest(exception.getMessage())))
}

最新更新