vue 防抖
防抖就是监听事件触发后,N秒之后再执行要操作的事物. 在设定的时间周期内,如果再次被触发,则取消回调,重新开始计时 和防抖容易混淆却又相互关联的还有节流. 原生的防抖略有冗余,vue版本的防抖更加清晰简洁
防抖的应用场景?
通常用于避免高频的http请求,避免资源的浪费. 如搜索框的联想推荐,当输入内容较快时,仅在最后停顿时间略长的一次发起请求.
防抖需要一个倒计时,一个监听,一个事件. 每触发一个监听,就检查是否有倒计时,如果有,则清除,然后重新计时,如果没有,则创建一个倒计时, 时间一到,自动执行事件.
delayed(){
if(this.timer
){
clearTimeout(this.timer
)
this.timer
=null
}
this.timer
=setTimeout(()=>{
},500)
}