ทั้งสองจำกัดความถี่ที่ฟังก์ชันทำงานตอบสนองต่อเหตุการณ์ที่รวดเร็วและซ้ำ ๆ — แต่ใช้กลยุทธ์เวลาที่ต่างกัน
- Debounce: เรียกใช้ฟังก์ชัน หลังจากที่กิจกรรมหยุด เป็นเวลา N ms เท่านั้น รีเซ็ตตัวจับเวลาในการเรียกแต่ละครั้ง → "รอจนกว่าพวกเขาจะเสร็จสิ้น"
- Throttle: เรียกใช้ฟังก์ชัน มากที่สุดหนึ่งครั้งต่อ N ms ระหว่างกิจกรรมต่อเนื่อง → "เรียกใช้ในอัตราคงที่"
text
events: x x x x x x x ........ x x x
debounce: ↑ (fires once, after the pause)
throttle: ↑ ↑ ↑ ↑ (fires periodically)
