d-utils
Version:
d-utils
21 lines (20 loc) • 962 B
JavaScript
/**
* d-utils version: 4.0.3
* by ifmiss
*/
;
/**
* @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 => ")};