3
respostas

Contador SetInterval em aba inativa

Bom dia, boa tarde ou boa noite, Estou desenvolvendo uma aplicação Web onde de 10 em 10 segundos devo fazer uma chamada REST em um Web Server para coletar dados a serem inseridos em um banco de dados. Para tal, estou utilizando o seguinte código:

setInterval(function () {
    infoSwitchPeriodica() 
}, 10000);

O problema é: o site possui diversas abas e, ao mudar a aba ativa, ou mesmo, recarregar a mesma aba, o contador é reiniciado, o que prejudica a coleta de dados, visto que é imprescindível que ocorram a cada 10 segundos. Há alguma maneira simples de contornar a situação? Agradeço qualquer ajuda.

3 respostas

Oi Pedro, tudo bem? Não entendi a questão das abas, mas você já pensou em fazer diferente? Colocar esse contador no servidor? :)

Olá Wanderson, obrigado pela resposta. O que eu quis dizer é que há varias views na mesma página. Infelizmente não há como fazer o servidor inserir os dados no banco pois ele não tem acesso ao mesmo. Estou começando a achar que a solução será fazer um outro sistema em paralelo só para inserção no banco.

Como assim o servidor não tem acesso ao banco? O banco está no cliente? É isso? E se você tentar uma atividade em background com o tal do service worker? Será que não dá?