Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Função iniciarOuPausar()

Estou quase terminando o curso (muito bom inclusive!) mas fiquei um pouco confusa em relação à função iniciarOuPausar().


function iniciarOuPausar() {
    if(intervaloId) {
        somPausa.play();
        zerar();
        return;
    }
    somPlay.play();
    intervaloId = setInterval(contagemRegressiva, 1000);
    comecarPausarBtnSpan.textContent = "Pausar";
    comecarPausarImg.setAttribute('src', './imagens/pause.png');
    
    
}

Lendo a função, não consigo entender exatamente o que ela faz. Também estou confusa sobre o intevaloId, que na minha cabeça também não tem feito tanto sentido. Explicações são bem-vindas!

1 resposta
solução!

Olá, Valentina!

Fico feliz em saber que está gostando do curso de JavaScript! Vou te ajudar a entender a função iniciarOuPausar() e o intervaloId.

A função iniciarOuPausar() é responsável por iniciar ou pausar uma contagem regressiva. Ela possui uma estrutura condicional que verifica se a variável intervaloId está definida. Se estiver, significa que a contagem regressiva já está em andamento e a função irá pausá-la. Caso contrário, a função irá iniciar a contagem regressiva.

O intervaloId é uma variável que armazena o ID retornado pela função setInterval(). Essa função é utilizada para executar um determinado trecho de código repetidamente em intervalos de tempo definidos. No caso dessa função, a contagem regressiva é atualizada a cada 1 segundo (1000 milissegundos).

Quando a função iniciarOuPausar() inicia a contagem regressiva, ela atribui o ID retornado pela função setInterval() à variável intervaloId. Isso é feito para que seja possível pausar a contagem regressiva posteriormente, caso necessário. Quando a função pausa a contagem regressiva, ela utiliza o ID armazenado em intervaloId como parâmetro para a função clearInterval(), que interrompe a execução do código repetido.

Portanto, A variável intervaloId é usada para armazenar o identificador retornado pela função setInterval(). Isso é útil para posteriormente poder pausar a contagem utilizando clearInterval(intervaloId) e setInterval(contagemRegressiva, 1000): Inicia um intervalo que chama a função contagemRegressiva a cada 1000 milissegundos (1 segundo). Isso faz com que a contagem prossiga a cada segundo..

Espero ter ajudado e reforço que em casos de dúvidas, conte sempre com o fórum da comunidade Alura! Bons estudos!

Sucesso

Um grande abraço e até mais!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!