【问题标题】:AJAX requests Synchronous Vs AsynchronousAJAX 请求同步与异步
【发布时间】:2023-04-01 21:43:02
【问题描述】:

同步请求和异步请求之间的性能(速度方面)有什么不同吗?

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

【问题讨论】:

标签: ajax asynchronous request synchronous


【解决方案1】:

您通常应该始终使用异步 Ajax 请求,实际上我只知道应该使用同步 Ajax 请求的一个地方,即如果您在 Ajax 请求中在客户端上嵌入一个新的 JavaScript 文件然后引用在原始 Ajax 请求的返回中来自该 JavaScript 文件的类型和/或对象。那么这个新 JS 文件的获取应该(或者可以合理地)通过使用同步 Ajax 请求来包含...

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

【讨论】:

  • 这个问题仍然出现在搜索结果中 - 接受的答案不再是一个好的答案。正确的形式是将事件附加到正在加载的脚本,这就是 requirejs 所做的。
【解决方案2】:

@Thomas Hansen 的回答是正确的,但我找到了一个明确的解释,它具有 Asynchronous 的好处。

同步很简单,但是等待服务器响应,从而阻塞调用者的执行一段时间,并且在处理请求时比异步慢。

异步为必填项,提交请求后无需等待,立即将控制权交还给调用者,比同步更快。

当我必须使用上传控件时,我来到这里,该控件具有问题中的功能并查看此功能的优缺点。

我得到了另一个link,它用一个真实的例子进行了解释。 (链接是具体的工具,所以懂逻辑)

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

  • 同步对于多个大型 CSV 文件并不理想,因为您需要等到文件被服务器处理后才能提交另一个请求。在大文件上,这也可能导致您的浏览器由于服务器太忙而返回超时错误。如果您有多个文件,异步将允许您将多个文件提交到服务器队列以在完成后使用电子邮件收据进行处理。

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

【讨论】:

    【解决方案3】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-03-09
      • 1970-01-01
      • 2016-08-19
      • 2020-07-21
      • 2016-10-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多