// 防抖
export function debounce(fn, delay = 200) {// fn是需要防抖的函数,delay是延迟多少毫秒执行fn
let timer = null;
return function () {
if (timer) {
clearTimeout(timer);
}
timer = setTimeout(() => {
fn.apply(fn, arguments);
timer = null;
}, delay)
}
}
// 节流
export function throttle(fn, delay = 100) {
let timer = null;
return function () {
if (timer) return;
timer = setTimeout(() => {
fn.apply(fn, arguments);
timer = null;
}, delay)
}
}
<el-button @click="clickEvent">防抖</el-button>
<el-button @click="clickEvent2">节流</el-button>
import { debounce,throttle } from "@/utils/handleDebounce";
const clickEvent = debounce(
() => {
console.log("防抖");
}, 800);
const clickEvent2 = throttle(
() => {
console.log("节流");
}, 800);
7.防抖节流
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- import _ from 'lodash' onOperationClick:_.debounce(functi...
- 防抖 在n秒后执行,如果在n秒内触发,n就会重新计算, 在React项目中使用: src/@utils/debou...