2011-10-20 3 views
6

J'ai une application utilisant JavaScript setInterval() pour lancer une horloge numérique. Je me demandais s'il y a un délai, ou une limite, au nombre de fois où il peut exécuter cette fonction.JavaScript setInterval Limits?

+0

Vous voulez dire combien de fois le rappel sera exécuté? Non, il n'y a pas de limite. Pourquoi cette question a-t-elle été rejetée? – davin

Répondre

3

Non, la fonction donnée gardera en cours d'exécution jusqu'à ce que vous désactivez l'intervalle manuellement avec clearInterval()

Notez que dans la plupart des navigateurs, votre fonction sera toujours exécutée lorsque la page est en arrière-plan onglet, mais les navigateurs mobiles (notamment IOS5 Safari) peuvent libérer la page jusqu'à ce qu'elle soit focalisée/visible à nouveau.

13

setInterval() fonctionnera à l'infini.

Si vous souhaitez terminer la 'boucle', vous pouvez utiliser clearInterval. Par exemple:

var counter = 0; 

var looper = setInterval(function(){ 
    counter++; 
    console.log("Counter is: " + counter); 

    if (counter >= 5) 
    { 
     clearInterval(looper); 
    } 

}, 1000); 
0

Comme d'autres l'ont mentionné, il a pas de limite au nombre de fois que votre intervalle fonctionnera, mais si vous avez l'intention d'exécuter une minuterie indéfiniment que vous devriez considérer l'info ici:

Minimum setInterval()/setTimeout() delay on background tabs

Si votre utilisateur est susceptible de tabulation, 1 seconde semble être l'intervalle minimum sûr