为什么我应该重复使用XmlHttpRequest对象?

20
据我所知,尽可能重用XmlHttpRequest对象是最佳实践。不幸的是,我很难理解为什么要这样做。试图重用XHR对象似乎会增加代码复杂性并引入可能的浏览器不兼容性。那么为什么会有这么多人推荐呢?
经过一些研究,我得出了以下可能的解释列表:
  1. 创建较少的对象意味着减少垃圾回收
  2. 重用XHR对象可以减少内存泄漏的机会
  3. 创建新XHR对象的开销很高
  4. 浏览器能够在后台执行某种网络优化
但我仍然有些怀疑。这些原因中是否有任何一个是有效的?如果没有,那么什么才是有效的原因呢?

3
这个问题讨论了在使用AJAX时,是重复使用XMLHttpRequest对象还是每次都创建一个新的对象更好。参考链接提供了不同的观点和建议。 - nafg
1个回答

13

在任何时候,您可以打开的连接数量都存在很多问题;通常这是在浏览器层面强制执行的,比如所有版本的Internet Explorer(IE6允许2个,IE7允许2个,IE8允许4个),有时是由服务器节流限制,并且有时会由互联网服务提供商强制执行。

如果在一个脚本中有大量不同的XmlHttpRequest对象,并且由于某些原因一些连接没有正确关闭或没有被垃圾回收,那么您可能会遇到难以开启新连接的问题,而且完全不知道出了什么问题。

还有您所提到的所有原因。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接