阅读 120

axios 使用

npm install axios -s  安装

一般使用的时候会根据项目需求做扩展处理方便使用,以下是最近的项目处理axios的方式

1.  axios.default 的通用默认配置,及封装可扩展的方法

2. axios.all 和 axios.spread  封装处理高并发的请求

3. axios.CancelToken 和 axios.Cancel 常用的方法处理

4. requestInterceptor 和 responseInterceptor 请求拦截通用处理

5. 封装处理多台服务的请求实例集合

例子:

function getInstances (conf) { // 封装实例
  let result = {} // 实例集合
  let domains = {} // 接口请求地址
  axios.defaults = merge(axios.defaults, conf) // 合并配置
  result.$http = axios
  for (let key in domains) {
        key = key.trim()
        let instance = axios.create(domains[key])
        let domainName = `\$${key}`
        instance.all = (promises) => return axios.all(promises)
        instance.spread = (cb) => return axios.spread(cb)
        instance.Cancel = () => return axios.Cancel
        instance.CancelToken = () => return axios.CancelToken
        instance.isCancel = () => return axios.isCancel
        result[domainName] = instance // 添加高并发实例
  }
  return result
}
const http = getInstances(config)  // 调用实例
const HttpPlugin = { // 扩展都Vue实例
  install: (Vue) => {
    if (http === null) {
      Vue.prototype.$http = axios
    } else {
      for (let domainName in http) {
        Vue.prototype[domainName] = http[domainName]
      }
    }
  }
}
 
// 请求拦截根据需求处理,省略。。
 
Vue.use(HttpPlugin) // 使用
 

原文:https://www.cnblogs.com/tanjj/p/14840593.html

文章分类
代码人生
文章标签
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐