12345678910111213141516171819 |
- "use strict";
- let timeout = null;
- function debounce(func, wait = 500, immediate = false) {
- if (timeout !== null)
- clearTimeout(timeout);
- if (immediate) {
- const callNow = !timeout;
- timeout = setTimeout(() => {
- timeout = null;
- }, wait);
- if (callNow)
- typeof func === "function" && func();
- } else {
- timeout = setTimeout(() => {
- typeof func === "function" && func();
- }, wait);
- }
- }
- exports.debounce = debounce;
|