定义debounce函数
新建一个utils.js页面,定义函数
/**
* 防抖
* @param {Function} Fn 需要执行的函数
* @param {number} wait 延迟执行时间(毫秒)
* @param {number} immediate -true 表立即执行,false 表非立即执行
* @returns {Function}
* @constructor
*/
export const Utils={
debounce(func,wait=500,immediate=false){
let timer;
return function(){
let _this=this;
let args=arguments;
if(timer) clearTimeout(timer);
if(immediate){
let callNow=!timer;
timer=setTimeout(()=>{
timer=null;
},wait)
if(callNow) func.apply(_this,args)
}else{
timer=setTimeout(function (){
func.aplly(_this,args);
},wait)
}
}
}
}
调用
import { Utils } from "utils";
Save:Utils:dedebounce(function(){
console.log(1111111)
})