image

Acesse bootcamps ilimitados e +650 cursos

50
%OFF
ELDON AQUINO
ELDON AQUINO17/08/2023 07:02
Compartilhe

Função global setTimeout() do Javascript

    O método global setTimeout é uma função em JavaScript que permite atrasar a execução de um trecho de código por um determinado período de tempo. Ele é frequentemente usado para criar atrasos entre ações, animações ou para agendar a execução de tarefas em um futuro próximo.

    setTimeout(code, delay)

    setTimeout(funcao, atrasoEmMilissegundos);

    Parâmetros

    funcao a ser executado depois do timer expirar

    atrasoEmMilissegundos O tempo em milissegundos, que o cronômetro deve esperar antes que a funcão ou código especificado seja executado.

    exemplo 1:

    function minhaFuncao() {
     console.log("A função foi executada após o atraso!"); 
    }
    setTimeout(minhaFuncao, 2000); // Executará minhaFuncao após 2 segundos (2000 milissegundos).
    
    

    Uma coisa importante a notar é que o setTimeout não garante que a função seja executada exatamente após o tempo especificado. Pode haver pequenas variações devido a fatores como a carga do navegador ou do dispositivo.

    Além disso, se você precisar executar o código repetidamente em intervalos regulares, pode usar setInterval, que funciona de maneira semelhante, mas chama a função em intervalos regulares em vez de apenas uma vez.

    Exemplo Prático:

    // Esta função é chamada quando o alarme deve tocar.

    function tocarAlarme() {
     // Define o texto a ser exibido quando o alarme tocar.
     var texto = "Acorde seu imprestável!";
     // Atualiza o conteúdo de um elemento HTML com o texto do alarme.
     result = document.getElementById("alarme").innerText = texto;
    }
    // Esta função configura o alarme para tocar na hora especificada.
    function configurarAlarmeNaHora(horaAlvo) {
     // Divide a string de hora em partes: horas, minutos e segundos.
     const partesHora = horaAlvo.split(":");
     // Obtém a data e hora atual.
     const agora = new Date();
    // Cria um novo objeto de data usando a hora alvo e a data atual.
     const horaAlvoObj = new Date(
     agora.getFullYear(),
     agora.getMonth(),
     agora.getDate(),
     partesHora[0],  // Horas da hora alvo.
     partesHora[1],  // Minutos da hora alvo.
     partesHora[2]   // Segundos da hora alvo.
     );
    // Verifica se a hora alvo já passou no mesmo dia.
     if (horaAlvoObj <= agora) {
     // Adiciona um dia à data alvo para agendar o alarme para o próximo dia.
     horaAlvoObj.setDate(horaAlvoObj.getDate() + 1);
     }
    
    // Calcula o tempo restante em milissegundos até a hora alvo.
     const tempoRestante = horaAlvoObj - agora;
    
     // Agende a execução da função tocarAlarme após o tempo restante.
     setTimeout(tocarAlarme, tempoRestante);
    
     // Exibe uma mensagem no console indicando quando o alarme será acionado.
     console.log( "Alarme configurado para tocar às " + horaAlvoObj.toLocaleTimeString() + "." );
    }
    
    // Configura o alarme para tocar às 06:06:00.
    configurarAlarmeNaHora("06:06:00");
    
    

    Espero que possa ajudar a comunidade e tenha dado uma noção de como usar essa função muito importante.

    Lembre-se de que o uso excessivo de atrasos com setTimeout pode afetar o desempenho da sua aplicação, especialmente se muitos temporizadores estiverem em execução ao mesmo tempo. Portanto, é importante usá-lo com moderação.

    Fonte:

    https://developer.mozilla.org/en-US/docs/Web/API/setTimeout

    Compartilhe
    Comentários (0)