AJAX请求同步Vs异步

时间:2009-06-27 09:08:20

标签: ajax asynchronous request synchronous

同步请求和异步请求之间的性能(速度方面)是否存在差异?

使用异步请求的原因是什么?

3 个答案:

答案 0 :(得分:22)

你应该总是使用异步Ajax请求,事实上我只知道应该使用同步Ajax请求的一个地方,如果你在Ajax请求中在客户端上嵌入一个新的JavaScript文件然后引用从原始Ajax请求返回的JavaScript文件中的类型和/或对象。然后,通过使用同步Ajax请求,可以(或者可以理智地)获取这个新的JS文件......

除此之外,总是使用异步Ajax请求。最重要的原因是同步Ajax请求使UI(浏览器)无响应......

答案 1 :(得分:1)

@Thomas Hansen的回答是正确的,但我发现了一个明确的解释,其好处是Asynchronous

同步很简单,但是要等待服务器响应,因此会在一段时间内阻止调用方的执行,并且在处理请求时会比异步执行慢。

异步是必填项,请不要在提交请求后立即等待并立即将控制权返回给调用方,因此比同步要快。

当我不得不使用上载控件时,我来了,该控件既有问题的功能,又有此功能的优缺点。

我得到了另一个link,其中有一个真实的例子进行了解释。 (链接是特定工具,因此请理解逻辑)

  • 主要区别在于我们服务器的响应时间。上载时,synchronized将验证文件并实时创建密码。异步会将文件发送到我们服务器的队列,并在处理后通过电子邮件发送通知。

  • 对于多个大型CSV文件而言,“同步”不是理想的选择,因为您将需要等到服务器处理该文件后再提交其他请求。在大文件上,这也可能由于服务器太忙而导致浏览器返回超时错误。如果您有多个文件,则异步操作将允许您将多个文件提交到服务器队列中,并在完成后通过电子邮件回执进行处理。

https://www.aspsnippets.com/Articles/Difference-between-Synchronous-Sync-and-Asynchronous-Async-Request-Call-in-AJAX.aspx

答案 2 :(得分:-1)

当涉及高度数据库密集型应用程序时可能会产生严重的性能影响..虽然它不太可能发生..并且发送许多同步ajax调用可以创建积压..所以如果应用程序数据库密集并发送这么多立即请求最好使其异步。 当它设置为异步时,浏览器将无法响应所有无响应请求并继续新的一次..