为什么不在MVC应用程序中的所有操作上使用异步呢
Why not use Async on all actions in an MVC app?
考虑到未来对更大可伸缩性的需求(假设使用量会增加),在新应用程序开发之初,对所有操作使用异步难道没有意义吗?
- 这对get(主要返回View)和post(将执行一些存储/更新并返回jsonresult)来说有意义吗
- 所有的帖子都将使用Jquery AJAX,这种"双异步"会起作用吗
该操作是否真的以任何方式从异步使用中受益?
如果它做到了,哪怕只是轻微的,例如通过点击文件I/O(使用async)、数据库(使用async)或Web服务(使用assync),那么这可能是值得做的。
如果它只是受CPU限制,那么它将使事情变得稍微有价值(异步不是免费的),并且一无所获。
同样值得注意的是,如果您将操作从异步更改为非异步,反之亦然,则代码更改可能是本地的,因此"我们将来可能需要这样做"没有真正的价值。如果你有一个操作,例如,现在只是返回一个没有其他工作的视图(在async中没有值),然后稍后将其更改为访问数据库(在assync中有值),那么你就可以更改为async,这不会是一个复杂的更改。
所有的帖子都将使用Jquery AJAX,这种"双异步"会起作用吗?
你的意思是,在ajax是异步的意义上也是异步的?完全不连接,每一个都可以是异步的,无论代码的其他部分是否具有零轴承。
Javascript实际上并没有异步执行任何操作。如果不使用web工作程序,就无法编写异步函数。您所能做的就是启动一个异步运行的进程,如fileReader、XMLHttpRequest、图像/资源加载、setTimeout、setInterval等。这些进程不是javascript。然后在需要时将调用(事件)放置在调用堆栈上。它们在不同的线程上运行,可以说是与javascript异步的,但javascript仅限于单个线程,一次只能执行一个函数,一次只执行一条指令。
因此,javascript(不包括web工作者)本身就不能异步运行。即使是与事件相关联的回调也必须一次处理一个,所有so call"async"事件都会被当前运行的调用阻止。如果不退出,调用堆栈上的回调将不会被调用,这将最终导致调用堆栈溢出。
异步调用任何javascript都表明了对javascript代码运行方式的误解。所谓的"异步javascript"应该更准确地称为"事件驱动"编程。
- 如何使jQuery插件函数可调用以供独立使用,而不在集合上操作
- 将文本框中的值用于按钮窗体操作上的变量
- 在rails中操作上传的svg文件
- 当我在异步操作Redux上开始单元测试时,没有定义错误承诺
- 在操作上以 HTML 形式调用 php,但不重定向
- 在操作上暂停简单的滑块 |设置间隔
- Symfony2:在每个操作上调用控制器/文件
- 处理Meteor'上异步行为的正确方法是什么;的客户端
- 等待ajax操作上的图像满载
- 为什么不在MVC应用程序中的所有操作上使用异步呢
- 从屏幕上异步删除JSON对象
- 如何在javascript操作上重新加载php函数
- 单击以执行操作上的引导下拉按钮
- 尝试使用onbeforeUnload,它在每个用户操作上都被触发.为什么
- 如何在Firefox浏览器上可靠地完成异步操作?
- 实现一个动态的侧边栏,在特定的操作上刷新
- 在文档上执行写操作:除非显式打开外部脚本,否则不可能从异步加载的外部脚本写入文档
- 使用jquery异步上传文件操作
- 我想取消页面提交,在取消操作上确认使用c#在asp.net4.0
- 我应该在Vuex操作上使用vue-resource吗?