目标:當點選最新請求的時候,将上一次未完成的請求取消掉
- 通過定義變量來存儲表示是否正在發送請求的布爾值
- 當使用者點選發送請求的時候,開始判斷這個變量是否為true,如果為true,則取消請求
- 然後将變量置為true,直到檢測到傳回狀态碼為4将變量置為false
https://link.juejin.cn?target= 代碼
let isSending = false;
btn[0].onclick = function() {
// 在此處判斷是否正在發送,如果正在發送則取消
if(isSending) xhr.abort();
isSending = true;
xhr = new XMLHttpRequest();
xhr.open("GET","http://localhost:8000/cancel");
xhr.send();
xhr.onreadystatechange = function() {
if(xhr.readystate === 4) {
isSending = false;
}
}
};