98 votes

Lorsque vous utilisez setTimeout, devez-vous effacerTimeout ?

Quelqu'un m'a dit que lorsque vous utilisez setTimeout vous devez l'effacer avec clearTimeout . Je peux comprendre avant la fin du délai, mais pourquoi après ? Ou est-ce faux ?

61voto

Second Rikudo Points 59550

Vous n'avez pas réellement besoin d'utiliser clearTimeout , vous ne l'utilisez que si vous souhaitez annuler le délai d'attente que vous avez déjà défini avant qu'il ne se produise.

Il est généralement plus pratique d'utiliser clearInterval avec setInterval car setInterval s'exécute généralement indéfiniment.

20voto

g.d.d.c Points 20164

clearTimeout n'est nécessaire que pour annuler un timeout. Une fois le délai d'attente écoulé, il peut être laissé seul en toute sécurité. clearInterval est beaucoup plus généralement nécessaire pour l'empêcher de continuer indéfiniment.

14voto

Trevor Points 6105

Non, setTimeout s'arrête après 1 appel. Pour arrêter setInterval cependant, vous devez utiliser clearInterval . Si vous créez une boucle sans fin de setTimeout alors clearTimeout peut être utilisé.

12voto

Blazemonger Points 39230

Aucune raison de l'effacer une fois qu'il est terminé. Votre ami a peut-être été confondu avec setInterval .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X