Я працюю над музичною програмою, яка вимагає, щоб кілька елементів JavaScript синхронізувались з іншими. Я використовував setInterval, що спочатку працює дуже добре. Однак з часом елементи поступово не синхронізуються, що погано в музичній програмі.
Я читав в Інтернеті, що setTimeoutє більш точним, і ви можете setTimeoutякось мати петлі. Однак я не знайшов загальної версії, яка б ілюструвала, як це можливо.
В основному у мене є такі функції, як такі:
//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);
Спочатку це працює дуже добре, але протягом приблизно хвилини звуки стають помітно несинхронізованими, як це я вже читав setInterval. Я читав, що setTimeoutможе бути більш послідовно точним.
Чи міг би хтось просто показати мені основний приклад використання, setTimeoutщоб щось циклювати на невизначений час? Як варіант, якщо є спосіб досягти більш синхронних результатів за допомогою setIntervalабо навіть іншої функції, будь ласка, дайте мені знати.