概念:
节流:在间隔一段时间执行一次回调
防抖:在连续的事件,只需触发一次回调
什么是节流?
节流: n 秒内只运行一次,若在 n 秒内重复触发,只有一次生效
列:电梯第一个人进来后,15秒后准时运送一次,这是节流
什么是防抖?
防抖: n 秒后在执行该事件,若在 n 秒内被重复触发,则重新计时
列:电梯第一个人进来后,等待15秒。如果过程中又有人进来,15秒等待重新计时,直到15秒后开始运送,这是防抖
相同:
防抖和节流都是用来控制某个函数在一定时间内触发次数,两者都是为了减少触发频率,以便提高性能或者说避免资源浪费。
适用场景:
防抖在连续的事件,只需触发一次回调的场景有:
搜索框搜索输入。只需用户最后一次输入完,再发送请求
手机号、邮箱验证输入检测
窗口大小resize。只需窗口调整完成后,计算窗口大小。防止重复渲染。
节流在间隔一段时间执行一次回调的场景有:
滚动加载,加载更多或滚到底部监听
搜索框,搜索联想功能