10 abril, 2008

Timer and Interval Offset

John Resig explica que con los navegadores derivados de Gecko (Mozilla), es posible averiguar el tiempo exacto transcurrido entre llamadas a una función callback especificada en un setInterval:

var count = 0;
var interval = setInterval(function(off){

  document.body.innerHTML += " " + off;

  if ( ++count == 10 )
    clearInterval( interval );

}, 100);


Por ejemplo, éste código que en otros navegadores muestra diez undefined, en Mozilla muestra una secuencia parecida a 4 -8 -7 -3 6 1 -1 -3 0 0 que indica que, aunque la función debería llamarse cada 100 milisegundos exactos, en realidad, la primera llamada se hace a 104ms, la segunda 92ms después, la tercera 93ms después - y así sucesivamente. Esto puede ser muy útil para obtener una sincronización precisa.

Publicar un comentario en la entrada

Últimos links en indiza.com