axios的进一步封装

Posted cuter、

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了axios的进一步封装相关的知识,希望对你有一定的参考价值。

import axios from 'axios'
let instance=axios.create({
baseURL:'xxxxxx',
timeout:5000
})
//请求拦截
instance.interceptors.request.use(config=>{
//请求拦截要处理的内容
return config
},err=>{
console.error('请求失败',err)
})
//响应拦截
instance.interceptors.response.use(res=>{
//响应拦截要处理的内容
return res
},err=>{
console.error('请求失败',err)
})
/**
*封装http请求
*@parmas {*} option 配置对象,属性包括
*method 请求方法
*path 请求接口地址
*parmas请求参数
*/
async function http(option={}){
let result=null
if(option.method==='get'||option.method==='delete'){
await instance[option.method](
option.path,
{
parmas:option.parmas
}
).then(res=>{
result=res
}).catch(err=>{
result=err
})
}else if(option.method==='post'||option.method==='put'){
await await instance[option.method](
option.path,
option.parmas
).then(res=>{
result=res
}).catch(err=>{
result=err
})
}
return result
}
export default http
//挂载
vue.prototype.$http=http
//使用演示
this.$http({
path:'xxxx',
method:'GET',
parmas:{

}
}).then(res=>{
console.log(res)
})

以上是关于axios的进一步封装的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段14——Vue的axios网络请求封装

回归 | js实用代码片段的封装与总结(持续更新中...)

axios的进一步封装

axios的进一步封装

axios的进一步封装

Axios