У меня есть функция, которая устанавливает таймер и вызывает себя обратно по истечении таймера.
Я хотел бы знать, не считается ли сбрасывать таймер в верхней части функции плохой практикой.
Причина в том, что я буду время от времени вызывать эту функцию асинхронно, и если Я сначала не сбрасываю таймер, у меня будет два одновременно.
Я понимаю, что могу очистить таймер прямо перед тем, как сделать другой вызов функции, но мне интересно, вызовет ли это проблемы в любом браузере, если я просто сохраню вызов 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);
}
Спасибо, что поделился со мной своим мозгом!
Кенни