gpt4 book ai didi

javascript - 超时调用函数(参数)时递归过多

转载 作者:搜寻专家 更新时间:2023-11-01 05:07:10 25 4
gpt4 key购买 nike

我在递归函数时遇到问题。我在 Firebug 中遇到错误

too much recursion

这是我的javascript代码:

var contentPc = "list";
waitForBody(contentPc);
function waitForBody(id){
var ele = document.getElementById(id);
if(!ele){
window.setTimeout(waitForBody(contentPc), 100);
}
else{
//something function
}
}

我该如何解决这个问题?感谢您的回答。

最佳答案

据推测,您的 DOM 中没有 id="list" 元素。这意味着您最初的 waitForBody 调用将在这里结束:

window.setTimeout(waitForBody(contentPc), 100);

这将在为 setTimeout 构建参数列表时调用 waitForBody(contentPc)。然后您再次回到 setTimeout 调用,但又多了一层堆栈深度。我想你的意思是:

window.setTimeout(function() { waitForBody(contentPc) }, 100);

这样下一个 waitForBody 调用会延迟一点。

关于javascript - 超时调用函数(参数)时递归过多,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8238396/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com