| 1234567891011121314151617181920212223242526272829 | let timeout = null;function debounce(func, wait = 500, immediate = false) {		if (timeout !== null) clearTimeout(timeout);		if (immediate) {		var callNow = !timeout;		timeout = setTimeout(function() {			timeout = null;		}, wait);		if (callNow) typeof func === 'function' && func();	} else {				timeout = setTimeout(function() {			typeof func === 'function' && func();		}, wait);	}}export default debounce
 |