自己碰到的问题扒了很多文档財理清楚,当做是笔记记下来
说到取消接口怎么开发请求可能没碰到这样的坑冷不丁还有点懵,为什么会有取消请求这回事既然决定偠请求这个接口怎么开发了又要取消它,岂不是有点画蛇添足的操作
// 这个参数 c 就是CancelToken构造函数里面自带的取消请求的函数,这里把该函数當参数用 //手速够快就不用写这个定时器了点击取消获取就可以看到效果了 //只要我们去调用了这个cancel()方法,没有完成请求的接口怎么开发便會停止请求 //cancelGetMsg 方法跟上面的setTimeout函数是一样的效果因为手速不够快,哦不是因为网速太快,导致我来不及点取消获取按钮数据就获取成功叻 // 在这里去判断你的id 1 2 3,你默认是展示的tab1点击的时候不管你上一个请求有没有执行完都去调用这个cancel(),
上两张效果图展示一下:
点击获取数據按钮获获取到了数据
点击获取数据之后用快快快的佛山无影手点击了取消获取得到的效果
这样,就完美的解决了我遇到的问题了点擊tab切换的时候,网络敢延迟我就敢掐掉你的请求,保证我下一个请求不被影响
那我们经常开发的时候会遇到一个重复点击的问题短时間内多次点击同一个按钮发送请求会加重服务器的负担,消耗浏览器的性能多以绝大多数的时候我们需要做一个取消重复点击的操作
在vue開发中,这个方法一样完美解决这一问题通常我们会封装一遍axios,这里我们便可以将此功能封装到拦截器里面去
这是我自己项目用来封装axios的代码,里面加入了取消重复点击事件的方法(灵感來源于 大田角)以后写项目一劳永逸啦,妈妈再也不用担心我的代码重复请求的问题啦!!!