美文网首页
axios的二次封装

axios的二次封装

作者: WangYatao | 来源:发表于2020-10-30 11:41 被阅读0次
    import axios from "axios";
    import qs from 'qs';
    
    /**
     *请求配置
     * **/
    const instance = axios.create({
        baseURL: '',
        timeout: 1000,
        headers: {},
        // `auth` 表示应该使用 HTTP 基础验证,并提供凭据
        // 这将设置一个 `Authorization` 头,覆写掉现有的任意使用 `headers` 设置的自定义 `Authorization`头
        auth: {
            username: '',
            password: ''
        },
    });
    // 添加请求拦截器
    axios.interceptors.request.use(function (config) {
        // 在发送请求之前做些什么
        return config;
    }, function (error) {
        // 对请求错误做些什么
        return Promise.reject(error);
    });
    
    // 添加响应拦截器
    axios.interceptors.response.use(function (response) {
        // 对响应数据做点什么
        return response;
    }, function (error) {
        // 对响应错误做点什么
        console.log(error);
        return Promise.reject(error);
    });
    
    /**
     * get请求
     * **/
    function get(url,params) {
        return new Promise((resolve, reject)=>{
            axios({
                url:url,
                method:"get",
                data:params
            }).then(function (response) {
                resolve(response.data);
            }).catch(function (error) {
                reject(error);
            });
        })
    }
    /**
     * post请求
     * **/
    function post(url,params) {
        return new Promise((resolve, reject)=>{
            axios({
                url:url,
                method:"post",
                data:qs.stringify(params)
            }).then(function (response) {
                resolve(response.data);
            }).catch(function (error) {
                reject(error);
            });
        })
    }
    export {
        post,
        get
    }
    

    相关文章

      网友评论

          本文标题:axios的二次封装

          本文链接:https://www.haomeiwen.com/subject/obtdvktx.html