- 前后端的交互有网络延时,有的时候数据迟迟未来,用户就反复点击按钮发送请求,明明用户只需要一次请求就够了,点了那么多下,服务器要返回那么多次请求,怎么办呢?
<script>
var dataLock = true; //初始的数据锁是打开的
btn.addEventListener("click", function() {
if (!dataLock) { //看看数据锁,如果是锁上的,这次点击就没用,退出函数。
return; //如果是打开状态,就执行下面的代码
}
dataLock = false; //先把数据锁锁上,然后去发送请求
xhr.onreadystatechange = function() {
if (xhr.readyState === 4) {
dataLock = true; //数据到来后,打开数据锁
}
}
})
</script>
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。