- 前后端的交互有網絡延時,有的時候數據遲遲未來,用戶就反復點擊按鈕發送請求,明明用戶只需要一次請求就夠了,點了那么多下,服務器要返回那么多次請求,怎么辦呢?
<script>
var dataLock = true; //初始的數據鎖是打開的
btn.addEventListener("click", function() {
if (!dataLock) { //看看數據鎖,如果是鎖上的,這次點擊就沒用,退出函數。
return; //如果是打開狀態,就執行下面的代碼
}
dataLock = false; //先把數據鎖鎖上,然后去發送請求
xhr.onreadystatechange = function() {
if (xhr.readyState === 4) {
dataLock = true; //數據到來后,打開數據鎖
}
}
})
</script>
最后編輯于 :
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。