1
resposta

[Projeto] Praticando JavaScript: Laços de Repetição - Resolução 08 - Temporizador de Aquecimento - setTimeout()

Praticando JavaScript: Laços de Repetição - Resolução 08 - Temporizador de Aquecimento - setTimeout()

O código conta com apenas uma function, que é para inciar a contagem conforme os segundos passam usando o método setTimeout() para uma experiência melhor.

const tempoMinimo = 5;
const temperaturaIdealAlcancadaEm = 3;

iniciarContagem(tempoMinimo, temperaturaIdealAlcancadaEm);

function iniciarContagem(tempoMinimo, temperaturaIdealAlcancadaEm) {
    for (let i = 1; i <= tempoMinimo; i++) {
    if (i === temperaturaIdealAlcancadaEm) {
        setTimeout(() => {
            console.log("Temperatura ideal atingida.");
        }, (temperaturaIdealAlcancadaEm + 0.5) * 1000);
    } else if (i === tempoMinimo) {
        setTimeout(() => {
            console.log(`Tempo total de aquecimento: ${tempoMinimo} segundos.`);
        }, (tempoMinimo + 0.5) * 1000
        );
    };
    setTimeout(() => {
    console.log(`Aquecendo... segundo ${i}`);
    }, i * 1000);
}};
1 resposta

Oi, Pedro! Como vai?

Agradeço por compartilhar seu código com a comunidade Alura.

Chamou atenção a forma como você usou apenas uma function para organizar a contagem e aplicou o setTimeout() para simular a passagem do tempo, deixando a experiência mais clara e próxima de um temporizador real.

Uma dica interessante para o futuro é usar o método setInterval() quando a ideia for repetir uma ação em intervalos fixos, evitando vários setTimeout() espalhados. Veja este exemplo:


let contador = 1;

const intervalo = setInterval(() => {
  console.log(`Aquecendo... segundo ${contador}`);
  contador++;

  if (contador > 5) {
    clearInterval(intervalo);
    console.log("Temperatura ideal atingida.");
  }
}, 1000);

Esse código repete a execução a cada segundo e encerra automaticamente quando a condição definida é atingida.

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