Axios
文章平均质量分 74
卡列尼娜翠花
这个作者很懒,什么都没留下…
展开
-
无感刷新 token
又因为无论是 access token 还是 refresh token 都是放在请求头的 authorization 上携带,此时请求拦截设置的 access token 就会覆盖掉 refresh token,导致刷新接口拿不到 refresh token。前一个刷新请求还没拿到最新的 access token,后一个刷新请求又发出了,这就出现了并发刷新 token ,冗余发送请求的情况。在请求拦截器中保存当前请求的url到数组中,后续的请求都需要判断一下,当前请求的url是否已经在数组中。原创 2023-11-03 03:27:07 · 1620 阅读 · 0 评论 -
防止重复提交请求
用一个数组保存当前请求的 url,此时还未响应。如果再次发起同样请求,比对 url 发现已经存在数组中,则拦截请求,提示重复提交。当该请求响应结束后,就将 url 从数组中剔除。则可再次发起上一次 url 的请求。原创 2023-11-03 02:52:15 · 440 阅读 · 1 评论 -
axios 实现请求 loading 效果
loading 分为全屏 loading 和局部 loading。axios 中设置 loading 只能设置全屏 loading,因为局部 loading 需要当前局部的 dom,在 axios 中显然拿不到发起请求的元素 dom。原创 2023-11-03 02:43:05 · 1597 阅读 · 1 评论 -
axios 实现请求重试
如果请求依旧失败,则触发第二次请求的全局错误拦截,最后再次触发重试。第一次请求失败,触发全局错误拦截,然后一路抛出错误,触发到重试的错误拦截器。请求重试的核心是可以重放请求,具体实现就是在 axios 中,拿到当前请求的 config 对象,再用 axios 实例,就能重放请求。当请求次数用完,则错误拦截器继续抛出错误对象,触发第一次请求的 request 方法的 catch 代码块。上面是一种请求重试的场景,一般情况下也不需要重试,所以我们这里讲的请求重试,指的都是请求网络错误的情况下需要重试。原创 2023-11-03 02:19:28 · 5008 阅读 · 0 评论 -
并发请求控制
这两种方式,第一种压根不是并发请求,准确说应该是并发发起请求。第二种有了滑动补位,才能说是一直以最大并发数在进行请求流程。Chrome 浏览器最多并发6个请求。一般情况下,我们都会设置并发数为 3。并发请求控制主要有两种区别:假设并发数为 3。原创 2023-11-03 02:03:53 · 175 阅读 · 0 评论 -
axios 全局错误处理和请求取消
这两个功能都是用拦截器实现。原创 2023-11-03 01:39:47 · 1569 阅读 · 0 评论 -
以配置的方式开关axios拦截器功能
通过在 config 对象上添加额外配置的方式来实现针对某个请求开关某个拦截器的目标。扩展 config 类型将额外配置项从请求 config 保存到 响应 config 对象上编写具体功能的拦截器。原创 2023-11-03 00:55:42 · 887 阅读 · 0 评论 -
ts 简易封装 axios,统一 API
在通用请求方法 request 基础上封装了同名的 http 方法使用泛型可获得请求参数和请求结果的类型提示额外封装了文件上传的方法。原创 2023-11-01 06:54:27 · 2443 阅读 · 2 评论 -
axios 基础
Ajax 是一个技术统称,是一个概念模型,它囊括了很多技术,并不特指某一技术,它很重要的特性之一就是让页面实现局部刷新。Ajax 是一种思想,XMLHttpRequest 只是实现 Ajax 的一种方式。xhr 的请求方式,如果请求中套请求容易造成回调地狱。Fetch 是在 ES6 出现的,它使用了 ES6 提出的 promise 对象。它是 XMLHttpRequest 的替代品。原创 2022-09-24 02:58:18 · 819 阅读 · 0 评论