axios
文章平均质量分 53
程序不了猿
一个还在成长的程序员,分享自己学到的点滴经验。
展开
-
利用网络层进行防抖,取消重复请求
全局定义一个队列,存储pending状态(没有response)的请求,在请求拦截器中给每个需要防抖的请求加一个signal(信标),每个请求进来的同时去判断当前等待队列中是否有相同的请求,如果有就取消队列中的请求,加入最新的请求的信标(这个逻辑也可以改成取消当前请求,保留队列中的请求的信标,这个主要看你的业务需求,一般c端都是需要最新数据,所以我使用的是前面的逻辑),如果没有当前的信标加入队列中;在响应拦截器里,删除队列中的请求signal。原创 2023-02-08 11:10:03 · 499 阅读 · 0 评论 -
网络重连封装
部分情况会遇到业务接口失败,但我们又不希望让用户去退出应用重启,这时候我们可以在网络层设置一个重连机制。写这个的时候我想到了当时实现token无痛刷新时没有去解决的一个痛点,但我去刷新token的时候如果是获取令牌的接口报错那程序会持续不断的请求令牌接口,这对服务端不太友好。之后我会把重连尝试次数限制加到无痛刷新机制中原创 2023-02-08 11:08:51 · 294 阅读 · 0 评论 -
小程序与axios结合的网络层封装
小程序在网络层提供的API是能够完成一个程序与服务端交互的完整链路,但需要大量的定制化代码,才能实现请求拦截和响应拦截,不太符合大多数开发者的使用习惯,对于前端开发者来说,网络层还得是axios。原创 2023-02-08 11:07:57 · 883 阅读 · 0 评论 -
基于类的axios完整封装
1、集成了网络重连、防止重复网络请求、取消网络请求等功能****2、集成了JSON、application/x-www-form-urlencoded;charset=UTF-8、multipart/form-data;charset=UTF-8(文件上传)三种类型上传;****3、为一个项目使用多个服务端请求地址提供便利,通过生成多个实例对象实现****4、与TS深度结合原创 2023-02-08 11:05:32 · 792 阅读 · 2 评论 -
接口轮询构造器2
这里实现了基础的接口轮询构造器,如果有更复杂的轮询需求可以自行添加逻辑。原创 2023-02-08 11:03:08 · 152 阅读 · 0 评论 -
探索埋点基本技术实现
1.为什么要探索这纯属是我个人意愿,不想不明不白的使用一个东西,不求完全掌握,但想大概知道如何实现。刚进亚运项目小组,接到埋点任务,通过组内学习基本上明白了埋点API的使用,半懂半蒙的完成了埋点任务。近期手上任务都提测了,闲下来想去探索探索我心中的几个疑问:埋点是否会影响性能?埋点是Ajax请求吗?背后实现思想是什么?2.如何探索?本人没有技巧,混迹各种技术社区,俗称水群,总有大佬会说出一些你不知道的web规范、或者说新规范。其实是自己懒,不能想各种大佬一样每周都会去看看web mdn。原创 2022-04-30 11:04:33 · 828 阅读 · 0 评论 -
token无痛刷新
1.技术背景在追求网络安全的大环境下,前端在处理网络请求的安全性控制有了更高的需求,回归问题的本质,处理token过期问题。1.1 token过期需要解决的几个痛点i. 怎么在响应式拦截器中重新发起请求ii. 怎么处理token过期后大量请求并发iii. token过期后在响应拦截器中怎么重新获取token2.技术应用在解决上面提到的三个痛点之前,我们需要着重了解两个知识点:axios拦截器promise的三种状态success(resolve) fail(reject) pend原创 2022-04-25 15:40:04 · 1866 阅读 · 0 评论