J'essaie d'écrire un code simple avec un setTimeout
, mais le setTimeout
n'attendra tout simplement pas le temps qu'il suppose et le code s'exécutera immédiatement. Qu'est-ce que je fais mal?
setTimeout(testfunction(), 2000);
J'essaie d'écrire un code simple avec un setTimeout
, mais le setTimeout
n'attendra tout simplement pas le temps qu'il suppose et le code s'exécutera immédiatement. Qu'est-ce que je fais mal?
setTimeout(testfunction(), 2000);
Supprimez la parenthèse après le nom de la fonction test :
setTimeout(testfunction, 2000);
La raison en est que le premier argument de setTimeout doit être une référence de fonction et non la valeur de retour de la fonction. Dans votre code, testfunction
est appelé immédiatement et la valeur de retour est envoyée à setTimeout.
Supprimez d'abord la parenthèse :
setTimeout(testfunction, 2000);
Et puis, si vous voulez passer des paramètres dans la fonction setTimeout
, vous pouvez passer de cette manière :
setTimeout(testfunction, 2000, param1, param2);
Remarque : Vous pouvez transmettre plusieurs paramètres en fonction des besoins de votre fonction.
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.