[英]calling a function within a settimeout function is not working
为了让我的递归javascript喘口气,我试图使用延迟来避免脚本在浏览器中崩溃。
这是用于调用该函数的代码段。
setTimeout(function () {
recursiveGenerateTree(objNode.NodeList[cntLi], spnApplyClass, '', objEditParam)
}, 50);
看来该函数没有被调用,为此任何出路
尝试将50更改为更大的值...该值以毫秒为单位..尝试使用1000或2000而不是50。
setTimeout在间隔后调用一次函数,然后不回调它。 我认为最好使用setInterval 。 然后将在间隔中调用该函数。
你可以试试
$(document).ready( function(){
setInterval(function () {
recursiveGenerateTree(objNode.NodeList[cntLi], spnApplyClass, '', objEditParam)
}, 50);
});
可能发生这种情况的一个原因是,您的objNode
为null,因此,当函数准备调用时,其评估会停止它。 为了更好地说明,在调用recursiveGenerateTree
函数之前,需要先评估其参数。 如果上述符号为null,则其成员访问.NodeList[cntLi]
将失败。
我猜你必须将函数放在setTimeOut之外
像这样的东西:
function myfunction(){
recursiveGenerateTree(objNode.NodeList[cntLi], spnApplyClass, '', objEditParam)
}
setTimeout( myfunction , 50);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.