1234567891011121314151617181920212223242526272829303132333435363738 |
- var throttle = function throttle(fn) {
- var delay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 500;
- var _self = fn,
-
- timer = void 0,
- firstTime = true;
- return function () {
- var _this = this;
- var args = arguments;
- if (firstTime) {
-
- _self.apply(this, args);
- firstTime = false;
- }
- if (timer) {
-
- return false;
- }
- timer = setTimeout(function () {
-
- clearTimeout(timer);
- timer = null;
- _self.apply(_this, args);
- }, delay);
- };
- };
- module.exports = throttle;
|