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