相关疑难解决方法(0)

在Play Framework 2.2中使用非异步操作有什么好处吗?

播放2.2文档指出:

由于Play的工作方式,动作代码必须尽可能快(即非阻塞).那么如果我们还不能生成它,我们应该返回什么呢?回应是未来的结果!

未来[结果]最终将使用Result类型的值进行兑换.通过给出Future [Result]而不是普通Result,我们可以快速生成结果而不会阻塞.然后,Play将在兑换承诺后立即提供此结果.

在等待响应时将阻止Web客户端,但服务器上不会阻止任何内容,并且可以使用服务器资源为其他客户端提供服务.

创建返回Future的操作,Action.async而不是Action.apply正常的非异步操作.

有非异步操作有什么好处吗?令我感到震惊的是,确保我的所有动作都不会阻止的最佳方法是声明所有动作都使用Action.async.

实际上,根据Play Framework 2.3文档,它在Play 2.3中看起来像所有操作都是异步的:

注意:Action.apply和Action.async都创建以相同方式在内部处理的Action对象.有一种Action是异步的,而不是两种(同步的和异步的)..async构建器只是简化基于返回Future的API创建操作的工具,这使得编写非阻塞代码变得更加容易.

playframework playframework-2.2

5
推荐指数
1
解决办法
1294
查看次数

标签 统计

playframework ×1

playframework-2.2 ×1