Birden çok JavaScript öğesinin bir başkasıyla senkronize olmasını gerektiren bir müzik programı üzerinde çalışıyorum. setIntervalBaşlangıçta gerçekten iyi çalışan kullanıyorum . Bununla birlikte, zamanla öğeler kademeli olarak uyumsuz hale gelir ve bu da bir müzik programında kötüdür.
setTimeoutDaha doğru olanı çevrimiçi okudum ve bir setTimeoutşekilde döngülere sahip olabilirsiniz . Ancak bunun nasıl mümkün olduğunu gösteren genel bir versiyon bulamadım.
Temelde aşağıdaki gibi bazı işlevlerim var:
//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);
Başlangıçta çok iyi çalışıyor, ancak yaklaşık bir dakika içinde, okuduğum gibi sesler gözle görülür şekilde senkronize olmuyor setInterval. Bunun setTimeoutdaha tutarlı bir şekilde doğru olabileceğini okudum .
Birisi bana bir setTimeoutşeyi süresiz olarak döngüye sokmanın temel bir örneğini gösterebilir mi? Alternatif olarak, setIntervalveya başka bir işlevle daha eşzamanlı sonuçlar elde etmenin bir yolu varsa , lütfen bana bildirin.