需求场景
用户在点击购买或者其他操作的时候,http
响应比较慢
在没有收到反馈前,用户点击返回或者跳转到其他页面时,中断当前页面的请求和响应
实例化CancelToken
首页需要实例化一个CancelToken
import axios from "axios";
const CancelToken = axios.CancelToken;
发起请求
然后在发起某个请求时调用
创建一个变量如cancel
用于存储这个请求的取消方法
let cancel;
axios.get('/testApi', {
cancelToken: new CancelToken(function executor(c) {
cancel = c;
})
});
调用CancelToken
在需要取消的时候调用该变量即可
建议先做类型判断,然后充值为初始值,确保axios
已实例化一个CancelToken
if (typeof cancel===`function`){
cancel()
cancel=null
}
查看http
状态
在chrome
控制面板中,可以看到请求取消的状态
参考文档
axios
文档地址: http://www.axios-js.com/docs/
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。