Sto lavorando a un programma musicale che richiede che più elementi JavaScript siano sincronizzati con un altro. Sto usando setInterval
, che inizialmente funziona molto bene. Tuttavia, nel tempo gli elementi perdono gradualmente la sincronizzazione, il che è negativo in un programma musicale.
Ho letto online che setTimeout
è più accurato e puoi avere dei setTimeout
loop in qualche modo. Tuttavia, non ho trovato una versione generica che illustri come ciò sia possibile.
Fondamentalmente ho alcune funzioni come queste:
//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);
Funziona molto bene, inizialmente, ma nel corso di circa un minuto, i suoni diventano notevolmente fuori sincrono come ho letto setInterval
. Ho letto che setTimeout
può essere sempre più accurato.
Qualcuno potrebbe mostrarmi un semplice esempio di utilizzo setTimeout
per ripetere qualcosa indefinitamente? In alternativa, se esiste un modo per ottenere risultati più sincroni con setInterval
o anche un'altra funzione, fammelo sapere.