Qualcuno mi ha detto che quando lo usi setTimeoutdevi cancellarlo con clearTimeout. Posso capire prima che scada il timeout, ma perché dopo? O non è vero?
Risposte:
Non è vero: non c'è nulla di male a cancellare un timeout dopo che è terminato, ma non è necessario.
Secondo la specifica :
Se handle non identifica una voce nell'elenco dei timer attivi dell'oggetto WindowOrWorkerGlobalScope su cui è stato richiamato [clearTimeout], il metodo non fa nulla.
In altre parole, è un no-op; non accade nulla e non verrà generato alcun errore.
In realtà non è necessario utilizzarlo clearTimeout, lo si utilizza solo se si desidera annullare il timeout già impostato prima che accada.
Di solito è più pratico usare clearIntervalcon setIntervalquanto setIntervaldi solito va a tempo indeterminato.
Nessun motivo per cancellarlo dopo che è stato completato. Il tuo amico potrebbe essere stato confuso con setInterval.