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

Dúvida quanto a resposta correta

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);
    }
}
1 resposta
solução!

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!