续axios封装后加入请求拦截和响应拦截

女生的网名这么多〃 提交于 2020-08-16 07:08:17

axios求情拦截和响应拦截

上篇文章发布了axios封装的方法

本篇分享axios拦截,跨域在下一章

拦截也和promise相关

直接上整个request.js文件的代码

import axios from 'axios'

/* API封装 */
/* get方法 */
var GET = function (url, data = "") {
    return new Promise((resolve, reject) => {
        axios.get(url, {
            params: data,
            timeout: 3000
        }).then(response => {
            resolve(response)
        }).catch(error => {
            reject(error)
        })
    })
}
/* post方法 */
var POST = function (url, data = "") {
    return new Promise((resolve, reject) => {
        axios.post(url, data, {
            timeout: 3000
        }).then(response => {
            resolve(response)
        }).catch(error => {
            reject(error)
        })
    })
}

/* 拦截器 */
/* 请求拦截 */
axios.interceptors.request.use(
    config => {
    	//可以用来加loading动画的地方
    
        return config
    },
    error => {
        return error
    }
);
/* 响应拦截 */
axios.interceptors.response.use(
    response => {
        if (response.status === 200) {
            //可以用来去除loading动画的地方
            
            return Promise.resolve(response)
        } else {
            return Promise.reject(response)
        }
    },
    error => {
    	if (error.response.status) {
            return Promise.reject(error.response)
        }
    }
)
export {
    GET, POST
}

格式基本上是固定的,详情可以去参考axios官方文档
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!