我有一个设置计时器的函数,并在计时器到期时回调自身。
我想知道的是在函数顶部清除计时器是否是不好的做法。
这样做的原因是因为我会不时地异步调用该函数,如果我不先清除计时器,我将同时运行两个计时器。
我意识到我可以在对函数进行其他调用之前清除计时器,但我想知道如果我将cleartimeout 调用保留在包含计时器的函数内,是否会在任何浏览器中引起问题。
另一种想法 - 我可以在进行cleartimeout调用之前测试计时器变量,看看它是否是计时器?
这是一些示例代码:
function onAir(){
// reset timer
clearTimeout(timer);
$.getJSON("http://mywebsite.com?format=json&callback=?",function(data){
if(data.result == '1'){
do stuff here
}
else{
do other stuff here
}
});
// start timer
timer = setTimeout("onAir()",60000);
}
感谢您与我分享您的大脑!
Kenny
是的,没关系。另外,您应该像这样调用“setTimeout()”:
timer = setTimeout(onAir, 60000);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)