在项目中,有时需要主动终止数据请求,比如,某个数据请求响应时间比较慢,用户在等待请求的过程中取消请求,但后台服务器仍在执行计算,此时就需要前端主动终止请求,避免资源浪费。
这里以终止jquery的ajax为例,调用abort方法后,会执行error回调,判断抛出的异常是abort,则为终止请求操作。
let request = $.ajax({
...
error: function(err, textStatus, errorThrown) {
console.log(errorThrown)
if (errorThrown == 'abort') {
//abort终止请求
}
}
});
//终止请求
request.abort();