AJAX–节流阀,防短时间内重复点击多次造成不必要的重复请求
一、实际情况:
- 网速较慢……
- 服务器回应数据较慢……
- 其他原因导致的数据交互延迟或缓慢等……
4.结果:以上因素所造成的传输数据缓慢与延迟的结果,可能就是某个用户比较焦虑、不耐烦,一下子点击多次请求按钮,这时会造成
(1)服务器等处理请求的压力增大;
(2)同时重复的相同的请求也没必要 一 一 去回应;
(3)于是,联想到常用在setInterval() 函数中的节流阀,防止短时间内点击触发间隔执行的加速问题的解决方法很相似!!!
二、实际做法:
-
设置一把锁,比如true/false变化的变量来限定:
-
对于一些按钮或者元素的点击事件来触发ajax异步请求的情况,可以设置disabled属性的值来控制表单按钮是否可点击(特别是对于表单元素,经典的可以通过disabled属性来实现)!!!