UNPKG

d-utils

Version:

d-utils

21 lines (20 loc) 962 B
/** * d-utils version: 4.0.3 * by ifmiss */ "use strict"; /** * @description 函数节流 * @param { Function } fn 需要节流的函数 * @param { Number } t 节流时间,多久以后执行一次方法 单位ms * @example * // 在鼠标resize的过程中,1秒触发一次,如果resize了10秒相当于console.log('resize')只执行了10次 * window.onresize = throttle(function () { * // es5 获取参数 * let arg = Array.prototype.slice.call(arguments) * // es6 获取参数 * let arg1 = Array.from(arguments) * console.log('resize-throttle', arg) * console.log('resize-throttle', arg1) * }, 1000) */module.exports=function(t,e){if(void 0===e&&(e=1e3),"function"==typeof t){var o=t,r=null,i=!0;return function(){var t=arguments,n=this;if(i)return o.apply(n,t),void(i=!1);r||(r=setTimeout((function(){setTimeout(r),r=null,o.apply(n,t)}),e))}}console.error("第一个参数必须是方法","[d-utils] GenericUtils throttle error => ")};