UNPKG

quasar

Version:

Build high-performance VueJS user interfaces (SPA, PWA, SSR, Mobile and Desktop) in record time

25 lines (20 loc) 433 B
export default function (fn, wait = 250, immediate) { let timeout function debounced (...args) { const later = () => { timeout = null if (!immediate) { fn.apply(this, args) } } clearTimeout(timeout) if (immediate && !timeout) { fn.apply(this, args) } timeout = setTimeout(later, wait) } debounced.cancel = () => { clearTimeout(timeout) } return debounced }