A project I've been working on uses _.debounce().
The Underscore JS documentation for debounce reads as follows:
debounce
_.debounce(function, wait, [immediate])
Creates and returns a new debounced version of the passed function
that will postpone its execution until after wait milliseconds have
elapsed since the last time it was invoked.
This obviously assumes that anyone who wants to know what debounce()
does, already knows what 'debounce' means.
What does debounce actually do?