实际开发超实用的 vue axios请求拦截
2018-09-18 16:13
1056 查看
上一篇文章谈到当多次异步请求的时候,由于响应时间不可控,导致很多时候不能拿到我们想要的正确数据,讲到用promise all( )方法来将请求变成同步可以解决,但是这样就又带来新的问题,如果请求次数过多,响应时间就会变得超长,道理很简单,比如我在输入框里依次输入‘中’,‘国’,‘建’,‘设’,‘银’,‘行’,这样就会向后台发送6次请求,每次请求耗时1s, 耗时就花费了6秒,其实我只是想精确搜索“中国建设银行”,当我最后一次改变的时候请求的数据,前面的都阻止,这样不是就大大优化性能了吗?结下来就引出axios 请求拦截了:
export default { data(){ return{ source: null, //存放取消的请求方法 } }, methods:{ cancelQuest(){ if(typeof this.source ==='function'){ this.source('终止请求'); //取消请求 } }, getInfo(id){ const _this = this; this.cancelQuest(); //在请求发出前取消上一次未完成的请求; //发送请求 this.axios.get(`xxxxxxx`,{ cancelToken: new this.axios.CancelToken(function executor(c) { _this.source = c; }) }).then(res =>{ }).catch(error => { }) } } }
相关文章推荐
- 实际开发使用git流程(实用)
- vue axios请求拦截实例代码
- 实际开发中,实用的辅助iOS开发的工具
- Mock.js -- 生成随机数据,拦截 Ajax 请求,让前端攻城师独立于后端进行开发
- 【OC加强】NSDate的用法——日期时间在实际开发中比较实用
- 5.前端基于react,后端基于.net core2.0的开发之路(5) 配置node层,session设置、获取,请求拦截
- http接口开发请求参数签名实用工具类
- Android实际开发之网络请求组件的封装(OkHttp为核心)
- 微信开发者-主动请求-实际开发-(5)验证TOKEN(C#)
- Mock.js生成随机数据,拦截 Ajax 请求,让前端独立于后端进行开发
- iOS开发工具-如何使用网络封包分析工具Charles,通过配置proxy对http、https、tcp、udp 等协议的请求响应过程交互信息进行分析、判断、解决我们移动开发中的遇到的各种实际问题。
- iOS 开发中使用 NSURLProtocol 拦截 HTTP 请求
- 微信开发者-主动请求-实际开发-(4)自定义菜单(C#)
- vue开发:VUE axios发送跨域请求需要注意的问题
- 微信开发者-主动请求-实际开发-(3)获取access_token(C#)
- iOS 开发中使用 NSURLProtocol 拦截 HTTP 请求
- Webview在实际开发中比较实用资料
- iOS 开发中使用 NSURLProtocol 拦截 HTTP 请求
- iOS 开发中使用 NSURLProtocol 拦截 HTTP 请求
- iOS开发缓存的实际运用:避免多余的数据请求