ฉันกำลังทำงานกับโปรแกรมเพลงที่ต้องใช้องค์ประกอบ 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หรือแม้แต่ฟังก์ชันอื่นโปรดแจ้งให้เราทราบ