Estou trabalhando em um programa de música que requer vários elementos JavaScript para estar em sincronia com outro. Tenho usado setInterval
, o que funciona muito bem inicialmente. No entanto, com o tempo, os elementos ficam gradualmente fora de sincronia, o que é ruim em um programa de música.
Eu li online que setTimeout
é mais preciso e você pode ter setTimeout
loops de alguma forma. No entanto, não encontrei uma versão genérica que ilustre como isso é possível.
Basicamente, tenho algumas funções como:
//drums
setInterval(function {
//code for the drums playing goes here
}, 8000);
//chords
setInterval(function {
//code for the chords playing goes here
}, 1000);
//bass
setInterval(function {
//code for the bass playing goes here
}, 500);
Funciona muito bem, inicialmente, mas ao longo de cerca de um minuto, os sons tornam-se visivelmente fora de sincronia conforme li acontece com setInterval
. Eu li que setTimeout
pode ser mais preciso.
Alguém poderia me mostrar um exemplo básico de uso setTimeout
para fazer um loop indefinido de algo? Como alternativa, se houver uma maneira de obter resultados mais sincronizados com setInterval
ou mesmo outra função, entre em contato.