Article image
Viviane Bresolin
Viviane Bresolin18/08/2023 19:37
Compartilhe

Dominando o JavaScript: entendendo o método setTimeout

  • #JavaScript

Em sua jornada para compreender os fundamentos da linguagem Javascript, você encontrará uma infinidade de ferramentas e técnicas que tornarão seu código mais eficiente e fácil de usar. Uma dessas ferramentas é o método setTimeout, que permite introduzir atrasos na execução do código. Neste artigo, vamos ver o que é o método setTimeout, como ele funciona e fornecer exemplos para ajudar na sua compreensão.

Compreendendo setTimeout: uma breve visão geral

O método setTimeout é uma ferramenta valiosa que ajuda a gerenciar o tempo e o fluxo do seu código JavaScript. Ele é usado para agendar uma função ou um pedaço de código para ser executado após um atraso especificado, permitindo que você controle quando certas ações devem ocorrer em sua aplicaçāo.

A sintaxe do método setTimeout é a seguinte:

setTimeout(function, delay);
  • function: A função que você deseja executar após o atraso especificado.
  • delay: O tempo (em milissegundos) que você deseja esperar antes de executar a função.

Agora, vamos ver alguns exemplos para entender melhor o conceito.

Exemplo 1: Exibir uma mensagem após um tempo definido

Imagine que você está construindo uma página web simples e deseja exibir uma mensagem de boas-vindas para seus usuários alguns segundos após eles acessarem a página. Você pode conseguir isso usando o método setTimeout dessa forma:

function mostraMensagemBoasVindas() {
  alert("Bem-vindo ao meu Website!!");
}

setTimeout(mostraMensagemBoasVindas, 3000); // Mostra a mensagem ao usuário 
                                             depois de 3000 milissegundos (3 segundos)                                               

Exemplo 2: exibição de conteúdo dinâmico

Suponha que você precisa desenvolver um site de notícias e deseja alternar as manchetes em sua página inicial. Você pode usar setTimeout para atualizar os títulos a cada poucos segundos:

const manchetes = [
"Novas descobertas na área da saùde!", 
"Previsão do tempo: Dias ensolarados", 
"Tech: Revolução da IA"
];


function mostraProximaManchete(index) {
  // Código para mostrar a manchete no website
}

let currentIndex = 0;

function trocaManchete() {
  mostraProximaManchete(currentIndex);
  currentIndex = (currentIndex + 1) % manchetes.length;
  setTimeout(trocaManchete, 5000); // Muda a manchete a cada 5 segundos
}

trocaManchete();

Nesse exemplo, os títulos das notícias que estão no array manchetes são exibidas em sequência, atualizando a manchete exibida a cada 5 segundos. Vou explicar passo a passo:

  • Primeiro, temos um array chamado manchetes que contém três manchetes de notícias.
  • A função mostraProximaManchete(index) recebe um índice como argumento que será usado no código para exibir a manchete correspondente no website.
  • A variável currentIndex é inicializada com o valor 0. Essa variável indica a posição no array da manchete que está sendo exibida.
  • Dentro da função trocaManchete():
  • A função displayNextHeadline(currentIndex) é chamada para exibir a manchete atual com base no valor de currentIndex.
  • A linha currentIndex = (currentIndex + 1) % headlines.length calcula o próximo valor de currentIndex. Isso é feito somando 1 ao valor atual de currentIndex e, em seguida, usando o operador de módulo % para garantir que o valor permaneça dentro dos limites do array manchetes. Isso permite que currentIndex varie entre os valores 0, 1 e 2, evitando um índice fora dos limites do array.
  • setTimeout(rotateHeadlines, 5000); é usado para chamar a função trocaManchete() novamente após um intervalo de 5 segundos (5000 milissegundos). Isso cria um ciclo, fazendo com que a próxima manchete seja exibida após 5 segundos.
  • A função trocaManchete() é chamada uma vez no final para iniciar o ciclo de exibição das manchetes.

Conclusão

O método setTimeout é uma ferramenta poderosa do JavaScript que permite que você inclua atrasos controlados em seu código. Esteja você criando uma página da web simples ou um aplicativo complexo, entender como usar setTimeout permitirá que você crie experiências para o usuário mais dinâmicas e interativas.

Caso você queira explorar mais sobre esse método, seguem alguns links interessantes:

  1. https://developer.mozilla.org/en-US/docs/Web/API/setTimeout
  2. https://www.geeksforgeeks.org/what-is-the-purpose-of-settimeout-function-in-javascript/
  3. https://www.freecodecamp.org/news/javascript-settimeout-how-to-set-a-timer-in-javascript-or-sleep-for-n-seconds/
Compartilhe
Comentários (0)