Alcançando a precisão do temporizador além de setTimeout() em Javascript
O método setTimeout() do Javascript geralmente fica aquém em termos de precisão, exibindo atrasos imprevisíveis que pode afetar as operações da UI. Como resultado, os desenvolvedores podem se perguntar se existem abordagens alternativas que fornecem recursos de temporização mais confiáveis.
A impraticabilidade da precisão exata com setTimeout()
Infelizmente, alcançar a precisão precisão apenas com setTimeout() é uma busca inútil. Os navegadores não foram projetados para fornecer um tempo tão preciso. APIs externas oferecem soluções, mas introduzem dependências adicionais e podem não ser ideais para todos os aplicativos.
Aproveitando o tempo real para um tempo preciso
Em vez de confiar apenas em setTimeout (), os desenvolvedores podem aproveitar o relógio em tempo real para determinar quando as tarefas devem ser executadas. Isso envolve a configuração de um retorno de chamada com setTimeout(), mas contando com o método Javascript (new Date()).milliseconds ou seus equivalentes.
Esta abordagem explora o suporte robusto de temporizador dos navegadores mais recentes, mantendo a compatibilidade com versões mais antigas. Além disso, elimina a necessidade de vários temporizadores, melhorando o desempenho, evitando a competição de retorno de chamada. projetos que implementam "um cronômetro, uma tarefa". Em vez disso, eles devem empregar um único cronômetro que lide com todas as tarefas pendentes dentro de um intervalo especificado. A combinação dessa abordagem e dados de relógio em tempo real fornece um mecanismo de temporização mais previsível e preciso, eliminando a necessidade de uso de setTimeout() de força bruta.
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