在 Play2 中,我了解动作组合的概念以及使用 Async {...} 进行异步响应,但我还没有看到将这些方法一起使用的示例。
为了清楚起见,假设您正在使用操作组合来确保用户经过身份验证:
def index = Authenticated { user =>
Action { request =>
Async {
Ok("Hello " + user.name)
}
}
}
在 的实现中Authenticated
,如果我们假设正在查找这个数据库以检索用户,那么在我看来这部分将是一个阻塞调用,只留下Action
正文中的响应是非阻塞的。
有人可以解释我如何进行包含身份验证部分的非阻塞异步 I/O 吗?