# 应用场景
当前端需要即时搜索时,会不断的向后端请求 ajax,但是前端仅仅需要最后一次的搜索结果,之前的请求全部丢弃。
# 示例
对于未封装原生的 js 来说
let xhr = new XMLHttpRequest(); | |
xhr.open(method,url,true); | |
xhr.onreadystatechange = ()=>{} // 回调函数 | |
xhr.send(); // 发送请求 | |
xhr.abort(); // 请求终端 |
Axios
let cancelToken = axios.CancelToken; | |
let source = ConcelToken.source(); | |
axios({ | |
method: method, | |
url: url, | |
concelToken: source.Token | |
}).then(res=>{ | |
}).catch(err=>{ | |
}); | |
source.cancel(); |
# 总结
请求中途取消可以有效的提升前端的性能,节约客户端的资源。