function doKeyDown(event) {
switch (event.keyCode) {
case 32:
/* Space bar was pressed */
if (x == 4) {
setInterval(drawAll, 20);
}
else {
setInterval(drawAll, 20);
x += dx;
}
break;
}
}
Salut à tous,
Je veux appeler drawAll()
une fois sans créer de boucle qui appelle drawAll
encore et encore, dois-je utiliser une méthode récursive pour cela ou dois-je utiliser clearInterval
?
Veuillez également me dire d'utiliser clearInterval
? Merci :)
setInterval
ousetTimeout
.setInterval(doStuff);
. Passer une chaîne àsetInterval
est un appel implicite àeval
. Il est préférable de passer la référence de fonction à la place.Utilisez
setTimeout(drawAll, 20)
plutôt. Cela n'exécute la fonction qu'une seule fois.la source
J'ai utilisé angulaire avec électron,
Dans mon cas,
setInterval
renvoie un objet Nodejs Timer. qui quand je l'ai appeléclearInterval(timerobject)
ne fonctionnait pas.Je devais d'abord obtenir l'identifiant et appeler clearInterval
clearInterval(timerobject._id)
J'ai lutté pendant de nombreuses heures avec ça. J'espère que cela t'aides.
la source
Note latérale - si vous souhaitez utiliser des fonctions séparées pour définir et effacer l'intervalle, la variable d'intervalle doit être accessible pour tous, dans une portée `` globale relative '' ou `` un niveau supérieur '':
la source