Reactive Slick 未来响应未呈现 Play 模板
Reactive Slick future response not rendered Play template
我正在研究 Slick 3 + Play Framework 和 Scala。我不知道为什么我的 Play 模板没有呈现我第一次从 Slick DB 调用中获得的数据。当我再次刷新同一页面时,它显示了数据,但第一次无法呈现。
这是我的代码,
巧妙的数据库调用:
def findByAccessToken(Id: String): Future[Option[Organization]] =
db.run(orgs.filter(_.Id=== Id).result.headOption)
控制器操作调用:
def getOrgInfo = Action.async { request =>
val maybeOrg = for {
org <- orgDAO.findByAccessToken(request.session.get("oauthAccessToken").get)
} yield org
maybeOrg.map {
case org =>
org match {
case Some(c) => Ok(views.html.account(c))
case None => NotFound
}
}
最终播放模板代码:
@(Org: Organization)
@container("Org Info") {
<h1>Org Information</h1>
<ul>
<li>
User Id: @Org
</li>
</ul>
}
看起来我的页面第一次加载时数据库调用尚未交付结果,但因为当我刷新时它显示数据。
如何处理这种情况以及第一次渲染数据?
谢谢
这可能与模板无关。您可以添加一些调试语句来验证这一点。也许令牌在第一个请求被触发时不存在?
我正在研究 Slick 3 + Play Framework 和 Scala。我不知道为什么我的 Play 模板没有呈现我第一次从 Slick DB 调用中获得的数据。当我再次刷新同一页面时,它显示了数据,但第一次无法呈现。
这是我的代码,
巧妙的数据库调用:
def findByAccessToken(Id: String): Future[Option[Organization]] =
db.run(orgs.filter(_.Id=== Id).result.headOption)
控制器操作调用:
def getOrgInfo = Action.async { request =>
val maybeOrg = for {
org <- orgDAO.findByAccessToken(request.session.get("oauthAccessToken").get)
} yield org
maybeOrg.map {
case org =>
org match {
case Some(c) => Ok(views.html.account(c))
case None => NotFound
}
}
最终播放模板代码:
@(Org: Organization)
@container("Org Info") {
<h1>Org Information</h1>
<ul>
<li>
User Id: @Org
</li>
</ul>
}
看起来我的页面第一次加载时数据库调用尚未交付结果,但因为当我刷新时它显示数据。
如何处理这种情况以及第一次渲染数据?
谢谢
这可能与模板无关。您可以添加一些调试语句来验证这一点。也许令牌在第一个请求被触发时不存在?