繁体   English   中英

在settimeout函数内调用函数不起作用

[英]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.

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