javaScript

axios - 9 - 暴露的函数

console.info该系类文章旨在研究 axios 的实现 。在研究源码的基础上,去理解 axios 是如何实现 ajax 请求并更好的去使用这个库。简介对应文件为 lib/axios.js终于写到了最后,这个文件主要是对外暴露的 axios 方法,主要内容包括实例化 Axios 对象,并在此方法下绑定一些公用的方法。代码分析实例化 Axios 对象对应代码为:function createInstance(defaultConfig) { var context = new Axios(defaultConfig); // 绑定

  • aco Yang
    aco Yang
2 min read
javaScript

axios - 8 - Axios

console.info该系类文章旨在研究 axios 的实现 。在研究源码的基础上,去理解 axios 是如何实现 ajax 请求并更好的去使用这个库。简介对应文件为 lib/core/Axios.js根据前面的相关博文,该有的方法都有了,该有的配置也都已经规定好,在 Axios 这个类中,我们只需要绑定配置然后去调用相关的方法就可以了。代码分析类下的属性function Axios(instanceConfig) { this.defaults = instanceConfig; this.interceptors = { request: new InterceptorManager(), response:

  • aco Yang
    aco Yang
2 min read
javaScript

axios - 6 - 发送请求

console.info该系类文章旨在研究 axios 的实现 。在研究源码的基础上,去理解 axios 是如何实现 ajax 请求并更好的去使用这个库。简述对应文件:lib/core/dispatchRequest.js该模块接受传入的 config 对象并使用该对象下的 adapter 发送请求。注: 这里的 config 对象可以看作是 default + config 的合集。代码分析获取请求头根据自定义的配置,修改请求头信息config.data = transformData( config.data, config.

  • aco Yang
    aco Yang
2 min read
javaScript

axios - 5 - 错误处理

console.info该系类文章旨在研究 axios 的实现 。在研究源码的基础上,去理解 axios 是如何实现 ajax 请求并更好的去使用这个库。简介对应文件lib/core/enhanceError.js 用于添加错误信息lib/core/createError.js 用于创建错误对象代码分析createErrorerror 生成器,用于库内部,方便生成错误。function createError(message, config, code, response) { // 新建 Error 对象 var error

  • aco Yang
    aco Yang
1 min read
javaScript

axios - 3 - 工具函数

console.info该系类文章旨在研究 axios 的实现 。在研究源码的基础上,去理解 axios 是如何实现 ajax 请求并更好的去使用这个库。首先先大致了解下源码内都使用了哪些方法,以便在之后看源码的过程中,能确定该方法的效果。工具函数对应文件为 lib/utils.js该文件主要定义了一些会在实现 axios 中用到的一些工具函数:一些关于图片中出现的不常用的属性的解释如下,具体的内容点击名字即可查看:ArrayBuffer                 二进制数据缓冲区ArrayBufferView        二进制数据视图数组Blob                              二进制数据的基本对象,主要表示文件FormData                    表单数据URLSearchParams    处理 URL 参数串的方法方法的功能: 方法 入参类型 说明

  • aco Yang
    aco Yang
2 min read
javaScript

axios - 1 - 默认配置

console.info该系类文章旨在研究 axios 的实现 。在研究源码的基础上,去理解 axios 是如何实现 ajax 请求并更好的去使用这个库。default 默认配置信息对应文件为 lib/defaults.js 。该文件主要定义了一个对象,该对象用于配置默认的参数信息,在初始化时,会与传入的参数进行合并。详细内容如下:{ adapter: (config: object): Promise // 一个用于触发请求的函数 transformRequest: Array<(data: object, header:object): object&

  • aco Yang
    aco Yang
1 min read