1
2020年3月9日
《每日一题系列🚀》
作者:王二狗
博客:掘金思否知乎简书CSDN
点赞再看,养成习惯,每日一题系列会一直更新下去,你们的支持是我持续分享的最大动力😘

什么是函数防抖?

所谓函数防抖,就是说任务频繁触发的情况下,只有任务触发的间隔超过指定间隔的时候,任务才会执行.

为了更方便你的理解,这里举一个快递员送餐的例子。

如果快递员在送餐的时候一次只送一单,这个时候显然效率就会非常的低,那么为了提高效率,我们制定了这样一个规则。

他在接到一个订单的时候会等上5分钟,如果在这5分钟之内有新的订单,他就会再等上5分钟。

那么什么时候不等了呢,开始去送餐呢?

就是当他等待的时间超过了5分钟还是没有新的订单,他就不等了,就开始去送餐。

下面我们用实际的代码模拟一下这个过程:


function deliveryFood(){}

//设置定时器
var timeId = null

//点下按钮之后,快递员接到第一单
button.onclick = function(){
    //如果有新的订单,就清除之前的定时器,再等上5分钟
    if(timeId){
        window.clearTimeout(timeId)
    }
    timeId = setTimeout(()=>{
        //如果5分钟之内没有新的订单,就开始去送餐,并清楚定时器
        deliveryFood();
        timeId = null
    },5000)
}
告诫自己,即使再累也不要忘记学习,成功没有捷径可走,只有一步接着一步走下去。 共勉!

文章中如有不对的地方,欢迎小伙伴们多多指正。

谢谢大家~ 💘


前端_杭州求职中
21 声望3 粉丝