sábado, 1 de novembro de 2014

Dicas de Programação: Qual é a diferença entre setTimeout e setInterval em Javascript ?

Não sei se isso mudou mas, pelo que eu me lembre, existem duas maneiras de fazer "thread" em Javascript: ou usando o método setTimeout ou o método setInterval.

Mas qual é a diferença de um para o outro?

Simples, no setTimeout a função de callback é chamada uma única vez e no setInterval é chamada várias vezes (de tempos em tempos). Exemplo:

...
var uuid1 = setTimeout(function () {
       document.body.innerHTML += "<p>setTimeout escreveu</p>";
}, 1000);

var uuid2 = setInterval(function() {
      document.body.innerHTML +=  "<p>setInterval escreveu</p>";
}, 1000);

var uuid3 = setTimeout(function() {
      clearTimeout(uuid1);
      clearInterval(uuid2);
      clearTimeout(uuid3);
}, 10500);
...

Se isso funcionar, deve escrever, pelo menos uma vez o setTimeout e dez (10) vezes o setInterval.

Legal, não? :)

Até mais!

Nenhum comentário: