Saya sedang mengerjakan program musik yang membutuhkan banyak elemen JavaScript untuk disinkronkan dengan yang lain. Saya telah menggunakan setInterval
, yang bekerja dengan sangat baik pada awalnya. Namun, seiring waktu, elemen-elemen tersebut secara bertahap menjadi tidak sinkron yang berdampak buruk dalam program musik.
Saya telah membaca online yang setTimeout
lebih akurat, dan Anda bisa memiliki setTimeout
loop entah bagaimana. Namun, saya belum menemukan versi generik yang menggambarkan bagaimana hal ini dimungkinkan.
Pada dasarnya saya memiliki beberapa fungsi seperti:
//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);
Ini bekerja dengan sangat baik, pada awalnya, tetapi selama sekitar satu menit, suara menjadi terasa tidak sinkron saat saya membaca setInterval
. Saya telah membaca bahwa setTimeout
bisa lebih akurat secara konsisten.
Bisakah seseorang menunjukkan kepada saya contoh dasar penggunaan setTimeout
untuk mengulang sesuatu tanpa batas? Atau, jika ada cara untuk mendapatkan hasil yang lebih sinkron dengan setInterval
atau bahkan dengan fungsi lain, beri tahu saya.