太多的递归调用时调用函数(PARAMS)与超时
问题描述:
我有一个问题,当递归function.i'm得到错误的萤火太多的递归调用时调用函数(PARAMS)与超时
太多的递归调用
这是我的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);
,这将调用waitForBody(contentPc)
在构建参数列表setTimeout
。然后你又回到setTimeout
再次调用,但又有一个堆栈层次更深。我想你的意思是说这个:
window.setTimeout(function() { waitForBody(contentPc) }, 100);
使下waitForBody
调用将被延迟一点点。
很高兴看到我对JS语法的猜测是正确的 - 但我的回答是毫无意义的给你:) –
啊你真正的男人.... hihihi ..感谢您的回答... – viyancs