Alguém me disse que quando você usa setTimeoutvocê deve limpar com clearTimeout. Eu posso entender antes que o tempo limite acabe, mas por que depois? Ou não é verdade?
Respostas:
Não é verdade - não há mal nenhum em limpar um tempo limite após sua conclusão, mas não é necessário.
De acordo com a especificação :
Se o identificador não identificar uma entrada na lista de temporizadores ativos do objeto WindowOrWorkerGlobalScope no qual [clearTimeout] foi chamado, o método não fará nada.
Em outras palavras, é um ambiente autônomo; nada acontece e nenhum erro será gerado.
Na verdade clearTimeout, você não precisa usar , só o usa se quiser cancelar o tempo limite que já definiu antes de acontecer.
Geralmente é mais prático utilizar clearIntervalcom setIntervalporque setIntervalgeralmente é executado indefinidamente.
Não há razão para limpá-lo depois de concluído. Seu amigo pode ter sido confundido com setInterval.