L'appel d'une fonction, toutes les 60 secondes
À l'aide de setTimeout()
il est possible de lancer une fonction à une heure précise:
setTimeout(function, 60000);
Mais si je voudrais lancer la fonction plusieurs fois? Chaque fois qu'un intervalle de temps passe, je voudrais exécuter la fonction (toutes les 60 secondes, disons).
Vous devez vous connecter pour publier un commentaire.
Si vous n'avez pas de soins si le code à l'intérieur de la
timer
peut prendre plus de temps que votre intervalle, utilisezsetInterval()
:Que les feux de la fonction passée comme premier paramètre et plus.
Une meilleure approche est d'utiliser
setTimeout
avec unself-executing anonymous
fonction:qui garantit, que le prochain appel n'est effectué avant votre code a été exécuté. J'ai utilisé
arguments.callee
dans cet exemple que la fonction de référence. C'est une meilleure façon de donner un nom à la fonction et l'appeler danssetTimeout
parce quearguments.callee
est obsolète dans ecmascript 5.clearInterval()
est un partenaire de la fonction desetInterval()
et est très pratique si vous souhaitez mettre fin à votre appel de fonction périodique.utiliser le
EDIT : (Dans le cas où si vous voulez arrêter l'horloge après il est démarré)
Section Script
et le Code HTML
Une meilleure utilisation de jAndy's réponse à mettre en œuvre une fonction d'interrogation qui interroge chaque
interval
secondes, et se termine aprèstimeout
secondes.Mise à JOUR
Que par le commentaire, la mise à jour pour la capacité de la fonction pour arrêter l'interrogation:
sendHeartBeat
?En jQuery tu peux faire comme cela.
JS:
HTML:
// Change Interval here to test. For eg: 5000 for 5 sec
Actuellement, il est amené à changer tous les 6 secondes. la valeur d'usage 60000 pendant une minuteest la méthode que vous êtes après.
Vous pouvez simplement appeler setTimeout à la fin de la fonction. Cela permettra de l'ajouter à la file d'attente des événements. Vous pouvez utiliser n'importe quel type de logique pour varier les valeurs de délai. Par exemple,
Utilisation
window.setInterval(func, temps)
.ici, nous console de nombre naturel de 0 à ......n (nombre suivant d'impression dans la console de toutes les 60 sec.) , en utilisant la fonction setInterval()
s enough , and next time i will tack care about it. ): Hello dear @DebanjanB now it
s assez , et la prochaine fois je vais le point d'amure s'en soucier. ): et merci pour les conseils ):Il y a 2 façons d'appeler-
setInterval(function (){ functionName();}, 60000);
setInterval(functionName, 60000);
au-dessus de la fonction fera appel à toutes les 60 secondes.