Javascript:在settimeout之前调用cleartimeout可以吗?

2024-01-12

我有一个设置计时器的函数,并在计时器到期时回调自身。

我想知道的是在函数顶部清除计时器是否是不好的做法。

这样做的原因是因为我会不时地异步调用该函数,如果我不先清除计时器,我将同时运行两个计时器。

我意识到我可以在对函数进行其他调用之前清除计时器,但我想知道如果我将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(使用前将#替换为@)

Javascript:在settimeout之前调用cleartimeout可以吗? 的相关文章

随机推荐