前端终止请求的三种方式(ajax、axios)
在前端中,可以通过以下三种方式使用Ajax、Axios来终止请求:
- 使用Ajax中的
abort
方法
var xhr = $.ajax({
url: "some_url",
type: "GET",
dataType: "json"
});
// 在需要的时候,调用abort方法终止请求
xhr.abort();
- 使用Axios中的
cancelToken
const CancelToken = axios.CancelToken;
const source = CancelToken.source();
axios.get('some_url', {
cancelToken: source.token
}).catch(function(thrown) {
if (axios.isCancel(thrown)) {
console.log('Request canceled', thrown.message);
} else {
// 处理错误
}
});
// 在需要的时候,调用cancel方法终止请求
source.cancel('Operation canceled by the user.');
- 使用fetch API中的
AbortController
const controller = new AbortController();
const signal = controller.signal;
fetch('some_url', {
signal: signal
}).then(function(response) {
return response.json();
}).then(function(data) {
console.log(data);
}).catch(function(error) {
console.log('Request failed:', error);
});
// 在需要的时候,调用abort方法终止请求
controller.abort();
以上三种方法都可以用来终止前端发出的请求。具体使用哪一种取决于你的项目中所用的库和个人喜好。
评论已关闭