Outro
Sei que pode ter sido uma leitura longa, mas acredito que você gostou. De qualquer forma, se você tiver alguma dúvida ou sugestão, fique à vontade para entrar em contato comigo.Obrigado por ler e adeus?","image":"http://www.luping.net/uploads/20240822/172428984466c6933405c14.gif","datePublished":"2024-08-22T09:24:04+08:00","dateModified":"2024-08-22T09:24:04+08:00","author":{"@type":"Person","name":"luping.net","url":"https://www.luping.net/articlelist/0_1.html"}}
Eu sei que os cronômetros já são um recurso que muitas pessoas usam em suas tarefas do dia a dia. No mundo JavaScript, os temporizadores são frequentemente implementados com as funções setTimeout ou setInterval. A má notícia para você, se estiver fazendo isso, é que não é uma boa prática e tentarei explicar o porquê.
Antes de começar a explicar meu pensamento, tenho uma pergunta para você:você pode usar um relógio com a hora errada?
Se sua resposta for sim, sinto muito por ter desperdiçado seu precioso tempo porque este artigo não pertence a você.Por outro lado, se sua resposta for negativa, explicarei por que usar setTimeout ou setInterval é como usar um relógio danificado para saber as horas.
O problema com essas funções
(não tem uma tarefa a fazer) em outras palavras o callback passado para setTimeout tem baixa prioridade
Agora, sabendo disso, imagino que será difícil para você implementar timers usando a função setTimeout porque você pode ter 2 ou até 10 ticks (dependendo de quão ocupado seu navegador está) ao mesmo tempo. Será um pesadelo depurar, mas temos uma solução melhor?Uma maneira de evitar essas funções
(em outras palavras, antes de ocorrer qualquer alteração na IU)
A diferença aqui é bem sutil, então é melhor entendê-la por meio do código. Vamos retomar nosso trecho anterior e ajustá-lo um pouco para comparar setTimeout e requestAnimationFrame
(embora em alguns casos raros o inverso aconteça)
Agora, se pudermos ajustar nosso snippet para fazer o navegador redesenhar a página, vamos ver o que vai acontecer
Como na web estamos constantemente realizando repinturas, requestAnimationFrame é uma escolha óbvia para implementar temporizadores.
Compreendendo a função requestAnimationFrame
A função retornará um número inteiro representando o identificador da solicitação, isso pode ser útil se você deseja cancelar a solicitação com a função cancelAnimationFrame.
Uma implementação simples de um cronômetro em JavaScript
Obrigado por ler e adeus?
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3