繁体   English   中英

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

[英]This code runs smoothly for about 50 seconds, and then starts spamming ERR_INSUFFICIENT_RESOURCES

这是我的代码:

我试图在谷歌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函数将重复调用给定的函数(在这种情况下,每300ms)。 您可以使用setTimeout ,它将等待300毫秒,然后执行给定的函数一次。

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

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

无限制地看起来就像这样。

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...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM