javascript - 此代码平稳运行了大约 50 秒,然后开始发送垃圾邮件 ERR_INSUFFICIENT_RESOURCES

标签 javascript jquery

这是我的代码:

我试图在 google chrome 控制台中运行它,它运行了大约 50 秒,然后发送错误 ERR_INSUFFICIENT_RESOURCES。我不确定它为什么这样做,我需要一些帮助。

var ID = prompt("What ID would you like to go down from?");

function PM(){
    $.get("http://www.roblox.com/Groups/Group.aspx?gid=" + ID,function(webpage) {
        if ( $(webpage).find("#ctl00_cphRoblox_rbxGroupFundsPane_GroupFunds").length) {
            var funds = $(webpage).find("#ctl00_cphRoblox_rbxGroupFundsPane_GroupFunds");
            var robux = $(funds).find(".robux").text();
            var tix = $(funds).find(".tickets").text();
            var owner = $(webpage).find("#ctl00_cphRoblox_OwnershipPanel");
            var owned = $(owner).find("a");
            var ownerhref = owned.text();
            if (ownerhref == "No One!") {
                if (robux != 0 || tix != 0) {
                    console.log("Found a good group. ID is " + groupId + ", It has " + robux + " robux, and " + tix + " tickets!");
                }
            }
        }
        ID = ID - 1;
        setInterval(PM, 300);
    })
}
PM();

最佳答案

浏览器资源不足,因为 PM函数正在设置将在无限循环中递归调用自身的间隔。 setInterval function将重复调用给定的函数(在本例中,每 300 毫秒)。您可以改为使用 setTimeout ,这将等待 300 毫秒,然后执行一次给定的函数。

为了详细解释您的案例,以下是正在发生的事情。

  1. PM被称为
  2. 进行了 AJAX 调用,回调设置了对 PM 的新调用每 300 毫秒
  3. 这些调用中的每一个都从步骤 1 开始重复该过程。因此,每隔 300 毫秒,就会设置一个新的间隔来调用 PM再次每 300 毫秒一次。

这看起来像这样,无穷无尽。

PM
 |
 PM..300ms..PM..300ms..PM...
  |          |          |
  |          |          PM..300ms..PM..300ms..PM...
  |          PM..300ms..PM..300ms..PM...
  |           | 
  |           PM..300ms..PM..300ms..PM...
  PM..300ms..PM..300ms..PM...

关于javascript - 此代码平稳运行了大约 50 秒,然后开始发送垃圾邮件 ERR_INSUFFICIENT_RESOURCES,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33154611/

相关文章:

javascript - JQuery 隐藏不适用于 .after

javascript - 使一个javascript函数在hash后的值发生变化时被调用

javascript - 带选项的 Coffeescript 函数

jquery - 特定的 jQuery 代码在 IE 中不起作用

javascript - 使用Javascript通过鼠标事件显示不同的内容

javascript - 使用 xmlhttprequest 使用按钮在 django 中下载文件

javascript - 如何使用 jQuery 在点击时从类或 ID 中获取所有属性?

javascript - 显示在 A 帧中计算秒数的文本计时器

javascript - 在 ES6 中有条件导入模块

javascript - 触发 dayClick of fullCalendar with agendaDay view