设置一个门槛值,表示两次 Ajax 通信的最小间隔时间。如果在间隔时间内,发生新的keydown事件,则不触发 Ajax 通信,并且重新开始计时。如果过了指定时间,没有发生新的keydown事件,再将数据发送出去。
这种做法叫做 debounce(防抖动)。假定两次 Ajax 通信的间隔不得小于2500毫秒。
var timer = null; // 声明计时器
function debounce(fn, delay){
console.log("timer:", timer)
// 清除定时器
clearTimeout(timer);
// 新的定时器值
timer = setTimeout(fn, delay);
}
function getBaidu() {
console.log("按钮被点击")
debounce(function () {
console.log("发送网络请求")
}, 2500)
}
参考来源:https://wangdoc.com/javascript/async/timer.html

本文介绍了一种称为防抖动(debounce)的技术,通过设置一个阈值来限制两次Ajax通信的最小间隔时间,以减少不必要的网络请求。当用户输入停止后,才执行网络请求操作,有效提高了系统的响应速度。
1091

被折叠的 条评论
为什么被折叠?



