Debouncing enforces that a function not be called again until a certain
amount of time has passed without it being called. As in “execute this
function only if 500 milliseconds have passed without it being called.”
(Scroll or move mouse wheel in the canvas below)
Throttle
Throttling enforces a maximum number of times a function can be called
over time. As in “execute this function at most once every 500
milliseconds.”