Javascript: É possível chamar cleartimeout antes do settimeout?

Tenho uma função que define um cronômetro e chama a si mesma novamente após a expiração do cronômetr

O que eu gostaria de saber é se é uma prática ruim limpar o cronômetro na parte superior da funçã

A razão para isso é que, de tempos em tempos, chamarei essa função de forma assíncrona e, se eu não limpar o temporizador primeiro, terei dois funcionando simultaneament

Sei que posso limpar o timer imediatamente antes de fazer a outra chamada para a função, mas estou pensando se isso causará problemas em qualquer navegador se eu mantiver a chamada de tempo limite dentro da função que contém o time

Um outro pensamento - Posso testar a variável do timer antes de fazer a chamada de tempo limite, para ver se é um time

Aqui está um código de exemplo:

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);
} 

Obrigado por compartilhar seu cérebro comigo!

Kenny

questionAnswers(5)

yourAnswerToTheQuestion