You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Esse timer só é desligado na função stopTimer(), que por sua vez é chamada apenas no pause() da app.
Uma forma melhor de lidar com isto seria: ao invés de ter um método stopTimer(), simplesmente verificar se já existe um ao chamar o setInterval():
if ( tt.thread )
clearInterval(tt.thread);
tt.thread = setInterval(function() {...})
Outra forma seria o seguinte. Suponho que a necessidade do timer é para lidar com diferenças entre o relógio "do device" e o relógio "oficial do tt". Podemos verificar a diferença entre eles na linha 150:
var offset = response.deviceInfo.dtTimeEvent.getTime() - new Date().getTime()
Depois, armazenamos este offset em uma variável privada. Dessa forma, a função que "desenha" o timer seria apenas:
app.showTimer( new Date().getTime() - offset )
e não haveria mais a necessidade de "somar 1 a cada loop do timer", que é o que está causando a variação de velocidade do timer.
OBS: Recomendo também usar o moment.js para tarefas de formatação e parse de tempo. A função showTimer() poderia ser substituída inteiramente por:
Em algumas situações, o relógio avança mais rápido do que deveria. Lendo o código, na linha 152 do tt.js é disparado um timer:
tt.thread = setInterval(function() {
app.showTimer(tt.time);
tt.time.timestamp = +tt.time.timestamp + 1;
}, 1000);
Esse timer só é desligado na função stopTimer(), que por sua vez é chamada apenas no pause() da app.
Uma forma melhor de lidar com isto seria: ao invés de ter um método stopTimer(), simplesmente verificar se já existe um ao chamar o setInterval():
if ( tt.thread )
clearInterval(tt.thread);
tt.thread = setInterval(function() {...})
Outra forma seria o seguinte. Suponho que a necessidade do timer é para lidar com diferenças entre o relógio "do device" e o relógio "oficial do tt". Podemos verificar a diferença entre eles na linha 150:
var offset = response.deviceInfo.dtTimeEvent.getTime() - new Date().getTime()
Depois, armazenamos este offset em uma variável privada. Dessa forma, a função que "desenha" o timer seria apenas:
app.showTimer( new Date().getTime() - offset )
e não haveria mais a necessidade de "somar 1 a cada loop do timer", que é o que está causando a variação de velocidade do timer.
OBS: Recomendo também usar o moment.js para tarefas de formatação e parse de tempo. A função showTimer() poderia ser substituída inteiramente por:
app.el("time").innerHTML = moment(time).format("HH:mm:ss");
The text was updated successfully, but these errors were encountered: