Neste caso ele não estaria cancelando o interval logo após a implementação?
const stoppableInterval = (fn, milisseconds) => {
const timer = setInterval(fn, milisseconds);
return () => {
clearTimeout(timer);
}
}
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Neste caso ele não estaria cancelando o interval logo após a implementação?
const stoppableInterval = (fn, milisseconds) => {
const timer = setInterval(fn, milisseconds);
return () => {
clearTimeout(timer);
}
}
Boa tarde, Tarcísio! Como vai?
Não. Veja que o retorno da função stoppableInterval() é uma outra função. Ela sim quando chamada irá parar o timer do setInterval(). Ficaria algo mais ou menos assim.
const stopTimer = stoppableInterval(() => console.log('setInterval() executando.'), 2000); // Inicia o setInterval e retorna a função de parada do timer.
stopTimer(); // Para o timer.Pegou a ideia? Qualquer coisa é só falar!
Grande abraço e bons estudos, meu aluno!