Como agendar tarefas usando o setTimeout e SetInterval em JavaScript

Como agendar tarefas usando o setTimeout e SetInterval em JavaScript

O JavaScript fornece alguns métodos internos para agendamento de tempo, como o método "setTimeout ()" e o método "setInterval ()". Esses métodos são usados ​​para agendar as tarefas, o método "setTimeout ()" executa uma função apenas uma vez no horário programado, mas o método "setInterval ()" chama uma função repetidamente após a espera especificada.

Método setInterval () em JavaScript

JavaScript oferece um método setInterval () que nos permite invocar uma função repetidamente. São necessários dois parâmetros um para a função invocar e o segundo parâmetro é para o tempo. O “SetInterval ()” pode levar parâmetros adicionais e passá -los para a função de retorno de chamada.

Consideraremos um exemplo para entender o funcionamento do método setInterval ():

deixe o número = 0;
deixe o número = 0;
function square ()
número ++;
SEQ = número*número;
console.log ("Número é igual:", número);
console.log ("quadrado do número:", seq);

setInterval (quadrado, 3000);

Neste exemplo, escrevemos um código para imprimir o quadrado de qualquer número positivo. Como precisamos chamar a função quadrada repetidamente, utilizamos o “SetInterval ()” método. O código imprimirá o quadrado de cada número positivo após o atraso de 3 segundos:

Como funciona o setInterval

Inicialmente, criamos uma função "quadrado( )" e dentro do "quadrado( )" função, escrevemos o código para imprimir o quadrado de qualquer número. Depois, invocamos o "quadrado( )" função usando o “SetInterval ()” método. Agora o que vai acontecer? Uma corrente começará:

  • Aguarde 3 segundos, increment,
  • E novamente aguarde 3 segundos, depois aumente o número e imprima o quadrado desse número.
  • O método "setInterval ()" imprimirá repetidamente o quadrado de cada número e não.

Método setTimeout () em JavaScript

Em JavaScript, o método "setTimeout ()" nos permite executar qualquer função após o tempo especificado uma vez. São necessários dois parâmetros um para a função invocar e o segundo parâmetro é para o tempo. Vamos considerar o mesmo exemplo e aplicar “Settimeout ()” método e observe a diferença:

deixe o número = 0;
function square ()
número ++;
SEQ = número*número;
console.log ("Número é igual:", número);
console.log ("quadrado do número:", seq);

setTimeout (Square, 3000);

Como resultado, ele invocará a função quadrada apenas uma vez, o que significa que imprimirá o quadrado de apenas um número:

Como funciona o setInterval

Se invocarmos o "quadrado( )" função usando o “Settimeout ()” método, agora o que vai acontecer?

  • Quando executamos o código, inicialmente, ele esperará três segundos, depois incrementará o número e imprimirá o quadrado desse número.
  • Mas desta vez não invocaria o método "Square ()" novamente porque “Settimeout ()” chama a função apenas uma vez e, como resultado, obteremos o quadrado de apenas um número.

Observação:

Não podemos chamar a função dentro do método "setTimeout ()" ou no método "setInterval ()", em vez disso, escreveremos apenas o nome da função se o fizermos, então esses métodos não funcionarão corretamente, a saída será Impresso sem demora:

setTimeout (Square, 3000); // Sintaxe correta
setTimeout (Square (), 3000); // Sintaxe incorreta
setInterval (quadrado, 3000); // Sintaxe correta
setInterval (Square (), 3000); // Sintaxe incorreta

Neste código, escrevemos tanto corretos quanto a sintaxe incorreta para o método "setTimeout ()" e o método "setInterval ()"

Conclusão

O JavaScript fornece alguns métodos internos que são utilizados para executar algum código de código com base em um cronômetro. Essas funções oferecem funcionalidades diferentes, por exemplo, a função "setTimeout ()" executa qualquer função apenas uma vez enquanto o método "setInterval ()" executa qualquer função recursivamente. Este artigo fornece uma visão geral dos métodos "setTimeout" e "setInterval ()" com ajuda de alguns exemplos.