UNPKG

@material-ui/core

Version:

React components that implement Google's Material Design.

23 lines (18 loc) 511 B
// Corresponds to 10 frames at 60 Hz. // A few bytes payload overhead when lodash/debounce is ~3 kB and debounce ~300 B. export default function debounce(func, wait = 166) { let timeout; function debounced(...args) { // eslint-disable-next-line consistent-this const that = this; const later = () => { func.apply(that, args); }; clearTimeout(timeout); timeout = setTimeout(later, wait); } debounced.clear = () => { clearTimeout(timeout); }; return debounced; }