2011-09-12 8 views

risposta

35

Non è vero - non c'è nulla di male a cancellare un timeout dopo che è finito, ma non è necessario.

Per il specification:

Se la maniglia non si identifica una voce nell'elenco dei timer attivi dell'oggetto WindowOrWorkerGlobalScope sul quale è stato invocato [clearTimeout], il metodo non fa nulla.

In altre parole, è un no-op; non succede niente e nessun errore verrà lanciato.

6

Nessun motivo per cancellarlo dopo che è stato completato. Il tuo amico potrebbe essere stato confuso con setInterval.

8

clearTimeout è necessario solo per annullare un timeout. Dopo il timeout, può essere lasciato in pace. clearInterval è molto più tipicamente necessario per impedire che continui indefinitamente.

6

No, setTimeout si interrompe dopo 1 chiamata. Tuttavia, per interrompere setInterval, è necessario utilizzare clearInterval. Se si crea un ciclo infinito di setTimeout, è possibile utilizzare clearTimeout.

23

In realtà non è necessario utilizzare clearTimeout, lo si utilizza solo se si desidera annullare il timeout già impostato prima che si verifichi.

Di solito è più pratico usare clearInterval con setInterval perché setInterval di solito va a tempo indeterminato.

Problemi correlati