axios - 1 - 默认配置

console.info

该系类文章旨在研究 axios 的实现 。在研究源码的基础上,去理解 axios 是如何实现 ajax 请求并更好的去使用这个库。

default 默认配置信息

对应文件为 lib/defaults.js

该文件主要定义了一个对象,该对象用于配置默认的参数信息,在初始化时,会与传入的参数进行合并。

defaults 包含的主要内容

详细内容如下:

{
    adapter:           (config: object) => Promise           // 一个用于触发请求的函数
    transformRequest:  Array<(data: object, header:object) => object>  // 用于处理请求的函数列表
    transformResponse: Array<(data: object) => object>       // 用于处理响应的函数列表
    timeout:           number                                // 请求超时时间
    xsrfCookieName:    string                                // 用于防止跨站攻击
    xsrfHeaderName:    string                                // 用于防止跨站攻击
    maxContentLength:  number                                // 内容的大小限制 -1 为不限制大小
    validateStatus:    (status: number) => boolean           // 用于判断当前请求是否为有效请求
    headers:{
        common:        object                                // 通用头信息
        delete:        object                                // delete 的通用头信息
        get:           object                                // get 的通用的头信息
        head:          object                                // head 的通用的头信息
        post:          object                                // post 的通用的头信息
        put:           object                                // put 的通用的头信息
        patch:         object                                // patch 的通用的头信息
    }
}

默认的请求信息一般不用修改,当一个请求真正发出前,程序会将 default 和传入的 config 进行合并,当有重复时, config 中的内容会覆盖默认的 default