axios取消某个发送的http请求和响应

需求场景

用户在点击购买或者其余操做的时候,http响应比较慢ios

在没有收到反馈前,用户点击返回或者跳转到其余页面时,中断当前页面的请求和响应chrome

实例化CancelToken

首页须要实例化一个CancelTokenaxios

import axios from "axios";
const CancelToken = axios.CancelToken;
复制代码

发起请求

而后在发起某个请求时调用bash

建立一个变量如cancel用于存储这个请求的取消方法ui

let cancel;
axios.get('/testApi', {
 	cancelToken: new CancelToken(function executor(c) {
    cancel = c;
  })
});
复制代码

调用CancelToken

在须要取消的时候调用该变量便可spa

建议先作类型判断,而后充值为初始值,确保axios已实例化一个CancelTokencode

if (typeof cancel===`function`){
	cancel()
	cancel=null
}
复制代码

查看http状态

chrome控制面板中,能够看到请求取消的状态cdn

取消请求

参考文档

axios文档地址: www.axios-js.com/docs/blog

相关文章
相关标签/搜索