axios拦截器

axios拦截器

  axios提供过了拦截器功能,用于我们在发送每次请求或者得到响应后,进行对应的处理

 

拦截器种类

  拦截器分为四种:

    请求成功

    请求失败

    响应成功

    响应失败

 

拦截的意义

  网络请求模块先将请求的数据拦截下来, 对请求数据进行一些语法验证,并且天机上一些必要的信息,然后再将请求发送出去

 

需要拦截的情况

  1. 比如有时候网络请求模块接收到发送请求的数据config,需要先验证一下这个config是否合规,或者添加上一些默认的配置

  2. 比如每次发请求后,希望在界面上侠士请求等待的小图标

  3. 某些网络请求(比如登录(token)),必须携带一些特殊的信息

import axios from "axios";
// 发送成功与发送失败拦截
export function instance1(config){
    // 1. 创建axios实例
     const instance = axios.create({
        baseURL: 'http://123.207.32.32:8000',
        timeout: 5000,
    });

    // 2. axios拦截器(axios实例中有拦截器功能)
    // 2.1 发送时拦截
    instance.interceptors.request.use(aaa => {
            console.log(aaa);
            return aaa
        },err => {
            console.log(err);
            return res
        })

     // 2.2 响应时拦截
    instance.interceptors.response.use(res => {
        console.log(res);
        return res.data;
    }, err => {
        console.log(err);
        return err;
    })

    // 3. 发送真正的网络请求
    return instance(config);
}
View Code

 

posted @ 2020-07-05 13:54  CarreyB  阅读(234)  评论(0编辑  收藏  举报