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

[Projeto] Praticando JavaScript: Laços de Repetição - Resolução 02 - Contagem Regressiva - setTimeout()

Praticando JavaScript: Laços de Repetição - Resolução 02 - Contagem Regressiva

O código conta com apenas uma function, que serve para realizar a contagem regressiva usando setTimeout() para ter certo delay, simulando realmente contagem para lançamento.

const numeroFinal = 10;
gerarContagem(numeroFinal);

function gerarContagem(numeroFinal) {
    for (let contador = numeroFinal; contador >= 0; contador--) {
        setTimeout(() => {
            console.log(contador);
        }, (numeroFinal - contador) * 1000);
    }
    setTimeout(() => {
        console.log("Lançar!");
    }, (numeroFinal + 1) * 1000);
}
1 resposta
solução!

Olá, Pedro, como vai?

O seu código soluciona o desafio de forma eficaz e demonstra um bom domínio sobre o uso do laço de repetição for e da função setTimeout. A lógica aplicada para escalonar o tempo de execução de cada iteração utilizando a diferença entre o número final e o contador atual garante que os números sejam exibidos no intervalo de um segundo entre eles. É interessante notar como o uso do escopo de bloco da variável let dentro do laço permite que cada função de retorno do cronômetro preserve o valor correto da iteração.

Parabéns pelo empenho em praticar a lógica de programação e por compartilhar sua resolução com a comunidade. Continue explorando essas possibilidades de temporização no JavaScript e postando seus avanços.

O fórum está à disposição para qualquer dúvida que surgir.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!