文章の目录
- 写在最后
使用 cancel token 取消请求
Axios 的 cancel token API 基于cancelable promises proposal,它还处于第一阶段。
可以使用 CancelToken.source 工厂方法创建 cancel token,像这样:
const CancelToken = axios.CancelToken;
const source = CancelToken.source();
axios
	.get("http://localhost/user/12345", {
		cancelToken: source.token
	})
	.catch(function (thrown) {
		console.log(1);
		if (axios.isCancel(thrown)) {
			console.log("Request canceled1", thrown.message);
		} else {
			// 处理错误
		}
	});
axios
	.post(
		"http://localhost/user/12345",
		{
			name: "new name"
		},
		{
			cancelToken: source.token
		}
	)
	.catch(function (thrown) {
		console.log(2);
		if (axios.isCancel(thrown)) {
			console.log("Request canceled2", thrown.message);
		} else {
			// 处理错误
		}
	});
// 取消请求(message 参数是可选的)
source.cancel("Operation canceled by the user.");
如果需要后续取消请求,需要在cancelToken中配置,并在catch中对取消的请求进行后续处理。


 还可以通过传递一个 executor 函数到 CancelToken 的构造函数来创建 cancel token:
const CancelToken = axios.CancelToken;
let cancel;
axios
	.get("http://localhost/user/12345", {
		cancelToken: new CancelToken(function executor(c) {
			// executor 函数接收一个 cancel 函数作为参数
			cancel = c;
		})
	})
	.catch(function (thrown) {
		if (axios.isCancel(thrown)) {
			console.log("Request canceled", thrown.message);
		} else {
			// 处理错误
		}
	});
// cancel the request
cancel();

 
 注意: 可以使用同一个 cancel token 取消多个请求
写在最后
如果你感觉文章不咋地
//(ㄒoㄒ)//,就在评论处留言,作者继续改进;o_O???
如果你觉得该文章有一点点用处,可以给作者点个赞;\\*^o^*//
如果你想要和作者一起进步,可以微信扫描二维码,关注前端老L;~~~///(^v^)\\\~~~
谢谢各位读者们啦(^_^)∠※!!!


















