21 lines
423 B
JavaScript
21 lines
423 B
JavaScript
"use strict";
|
|
let flag;
|
|
function throttle(func, wait = 500, immediate = true) {
|
|
if (immediate) {
|
|
if (!flag) {
|
|
flag = true;
|
|
typeof func === "function" && func();
|
|
setTimeout(() => {
|
|
flag = false;
|
|
}, wait);
|
|
}
|
|
} else if (!flag) {
|
|
flag = true;
|
|
setTimeout(() => {
|
|
flag = false;
|
|
typeof func === "function" && func();
|
|
}, wait);
|
|
}
|
|
}
|
|
exports.throttle = throttle;
|