我正在开发一个音乐程序,它需要多个 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
或甚至其他功能,请让我知道。