Added a simply debounce util to avoid using throttle plugins

This commit is contained in:
Dominic Lord
2017-03-02 09:46:51 -05:00
parent 3483e1530b
commit 5eec3941c3

View File

@@ -0,0 +1,15 @@
export default function(func, wait, immediate) {
let timeout;
return function() {
const context = this;
const args = arguments;
const later = function() {
timeout = null;
if (!immediate) func.apply(context, args);
};
const callNow = immediate && !timeout;
clearTimeout(timeout);
timeout = setTimeout(later, wait);
if (callNow) func.apply(context, args);
};
}