AJAX相关的内存泄漏

时间:2016-08-06 16:04:40

标签: jquery ajax memory-leaks

我使用jQuery 3.1.0和UWamp 3.1.0来运行此脚本。

我想创建一个可以连接到服务器的脚本,以执行一系列重复性任务;该服务器不属于我的域名。

我只会从AJAX调用开始发布代码,因为我认为它们是导致泄漏的代码

第一部分连接到预先计算的链接并下载要连接的其他链接列表(解析器只返回给定URL的内容)。

<select>
  <option value="volvo">Volvo</option>
  <option value="saab">Saab</option>
  <option value="vw">VW</option>
  <option value="audi" selected>Audi</option>
</select>

响应总是包含多个链接,我需要连接到第一个,再执行几个调用,然后才能进入第二个,然后是第三个,等等。
链接存储在数组URL中。

$.post("php/parser.php", {
    url: uri
}, function(res, status) {
    // Parsing

现在: 在Chrome / IE上只会执行前两个调用,因为$ when(urls [y])。done()永远不会被触发,因为urls [0] .state()总是等于挂起。

在Firefox上,如果我调试代码一切顺利运行(垃圾邮件按f10进入下一条指令会带来6s的执行时间),而如果我让代码自行运行,会发生几个问题,范围从console.log()没有显示消息,浏览器每秒从RAM中取出数百兆字节(进展非常缓慢),大约30秒后崩溃浏览器。
从任务管理器获取的更精确的数据;当不执行脚本时,Firefox使用480MB的RAM:
debug-&gt; 6s内高达500MB的RAM run-&gt; 30s内高达7GB的RAM (我打开了很多其他标签,如果它改变了什么)

我是一个关于js / jQuery / php的完整新手,在线查看并没有帮助我找到任何解决方案;如果有经验的人可以花一点时间研究这个问题,我们将非常感激。提前谢谢。

编辑:我通过使所有调用同步来解决问题,但我仍然有兴趣找到泄漏发生的原因

0 个答案:

没有答案
相关问题