console.info

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

default 默认配置信息

对应文件为 lib/defaults.js

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

defaults 包含的主要内容
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