美文网首页
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