Foros del Web » Programando para Internet » Javascript »

Dudas sobre funcionamiento de setInterval

Estas en el tema de Dudas sobre funcionamiento de setInterval en el foro de Javascript en Foros del Web. Buenas, Tengo ciertas dudas acerca de la función setInterval de javascript que me gustaría resolver. Tengo conocimiento de que tanto la función setInterval como setTimeout ...
  #1 (permalink)  
Antiguo 24/02/2014, 10:36
 
Fecha de Ingreso: julio-2006
Ubicación: Barcelona
Mensajes: 244
Antigüedad: 17 años, 10 meses
Puntos: 32
Dudas sobre funcionamiento de setInterval

Buenas,

Tengo ciertas dudas acerca de la función setInterval de javascript que me gustaría resolver. Tengo conocimiento de que tanto la función setInterval como setTimeout no ejecutan la función exactamente tras pasar cierto intervalo de tiempo pasado por parámetro sino que se ponen en una cola de eventos para ser ejecutados. De tal manera que si la cola de eventos a ejecutar es larga el comportamiento de didhas funciones no sería el que intuitivamente se espera.

De esta manera cabe esperar que si ejecutamos un setTimeout( function(){...}, 1000 ) cabe esperar que tarde algo más de 1000 milisegundos en llamarse a la función anónima. Y, por tanto, un código como este:
Código Javascript:
Ver original
  1. setTimeout( function(){
  2.     // hacer algo pasado 1 s
  3.     setTimeOut( function(){
  4.         // hacer algo pasados 2 s
  5.         setTimeOut( function() {
  6.             // hacer algo pasado 3 s
  7.             setTimeout( ...etc...
  8.                 ...
  9.         }, 1000 );
  10.     }, 1000 );
  11. }, 1000 );
hace que el error sea acumulativo y cuantas más repeticiones haya más difiera el tiempo de retraso deseado del tiempo de retraso real.

¿Entonces me pregunto si setInterval es implementado de tal manera que los retrasos se van incrementando o usa otro mecanismo que hace que la cosa se compense? Me gustaría saberlo porque en caso de que ocurra lo primero ya me preocuparia de implementar algo que a la larga no vaya acumulando error.

Un saludo y gracias!
__________________
github.com/xgbuils | npm/xgbuils

Etiquetas: dudas, funcion, funcionamiento, setinterval
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:51.