axios简单封装使用

1.安装并引入

yarn add axios
import axios from 'axios' //在js文件中引入

2.配置

axios.defaults.timeout = 5000
axios.defaults.baseURL = 'http://localhost:8080'
axios.defaults.withCredentials = true

3.请求拦截与响应拦截

// 请求拦截
axios.interceptors.request.use(
  config => {
    // 配置通用参数
    return config
  },
  err => {
    return Promise.reject(err)
  }
)

// 响应拦截
axios.interceptors.response.use(
  response => {
    if (response) {
      // 响应处理
    }
    return response
  },
  error => {
    return Promise.reject(error.response.data)
  }
)

4.封装get post put delete请求

/**
 * get请求
 * @param url
 * @param params
 * @returns {Promise}
 */
const get = (url, params) => {
  return new Promise(async (resolve, reject) => {
    try {
      const res = await axios.get(url, {
        params: params
      })
      resolve(res)
    } catch (err) {
      reject(err)
    }
  })
}

/**
 * post请求
 * @param url
 * @param params
 * @returns {Promise}
 */
const post = (url, params) => {
  return new Promise(async (resolve, reject) => {
    try {
      const res = await axios.post(url, params)
      resolve(res)
    } catch (err) {
      reject(err)
    }
  })
}

/**
 * put请求
 * @param url
 * @param params
 * @returns {Promise}
 */
const put = (url, params) => {
  return new Promise(async (resolve, reject) => {
    try {
      const res = await axios.put(url, params)
      resolve(res)
    } catch (err) {
      reject(err)
    }
  })
}

/**
 * delete请求
 * @param url
 * @param params
 * @returns {Promise}
 */
const del = (url, params) => {
  return new Promise(async (resolve, reject) => {
    try {
      const res = await axios.delete(url, {
        data: params
      })
      resolve(res)
    } catch (err) {
      reject(err)
    }
  })
}

5.导出

export default {
  get,
  post,
  put,
  del
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,869评论 18 139
  • Spring Web MVC Spring Web MVC 是包含在 Spring 框架中的 Web 框架,建立于...
    Hsinwong阅读 22,522评论 1 92
  • 你的问候明明很善良 为何我听了 如同 万箭穿心 你的提醒很友好 为何我见了你 就想逃 孩子 好孕 终是我心头最痛 ...
    酿一壶岁月的酒阅读 135评论 0 0
  • 初中毕业后就一直在上海发展,从事汽车方面的工作。那时的我18岁,多么好的年纪,在这个情窦初开的年纪。我的心思都...
    酷酷的雷阅读 169评论 0 0