Source|Source Code - Axios

Axios 内容

  1. 主要思路
  2. 拦截器
  3. 取消
  4. Promise: Axios 对 Promise 的利用还是蛮极致的
    • 利用 then 链来串联自己的请求拦截器 => 请求 => 响应拦截器链,进而有序执行
    • 利用 Promise 的异步思想,分离 resolve 方法,提供给外部主动取消请求的能力
【Source|Source Code - Axios】Source|Source Code - Axios
文章图片

其他
  1. xhr/http 的封装: headers(Authorization: btoa/atob), buildFullPath, onloadend/onabort/onerror/ontimeout/progress
  2. enhanceError: 通常 js 的异常报错信息较少,Axios 自己针对 isAxiosError 的报错封装了较多信息,可以通过 toJSON 获取更多 HTTP 错误的信息
  3. 工具函数: 小而美,命名
  4. 请求与响应体的转化: 不用我们自己处理大部分场景请求体的 Content-Type 及返回体的数据格式,也允许开发者自定义
  5. AbortController: 提供开发者自定义一个阻止请求的控制器,类似 fetch(url, { signal })
原创图解,转载备注。

    推荐阅读