Javascript: 在调用 settimeout 之前调用 cleartimeout 是可以的吗?
- 论坛
- Javascript: 在调用 settimeout 之前调用 cleartimeout 是可以的吗?
4 浏览
Javascript: 在调用 settimeout 之前调用 cleartimeout 是可以的吗?
我有一个设置定时器并在定时器到期时调用自身的函数。
我想知道的是,在函数顶部清除定时器是否是不良实践。
原因是我会不时地异步调用该函数,如果我不先清除定时器,就会有两个同时运行。
我意识到我可以在调用函数之前清除定时器,但我想知道如果我只在包含定时器的函数内部保留cleartimeout调用,是否会在任何浏览器中出现问题。
另一个想法是,我可以在进行cleartimeout调用之前测试定时器变量,以查看它是否为定时器。
下面是一些示例代码:
function onAir(){ // 重置定时器 clearTimeout(timer); $.getJSON("http://mywebsite.com?format=json&callback=?",function(data){ if(data.result == '1'){ 在这里做一些事情 } else{ 在这里做其他事情 } }); // 启动定时器 timer = setTimeout("onAir()",60000); }
感谢与我分享您的想法!
Kenny