axios(三)

简介: 有时需要同时向服务端发起多个请求,这可以利用axios库提供的并发请求助手函数来实现

并发请求

有时需要同时向服务端发起多个请求,这可以利用axios库提供的并发请求助手函数来实现

代码如下:

function getUserAccount(){
return axios.get('url')
}
function getUserPermissions(){
return axios.get('url')
}
axios.all([getUserAccount(),getUserPermissions()])
.then(axios.spread(function (acct,perms){
}))

acctgetUserAccount()方法请求的响应结果

permsgetUserPermissions()方法请求的响应结果

创建实例

可以使用自定义配置调用axios.create([config])方法来创建一个axios实例,之后使用该实例向服务器发起请求,就不用每次请求是重复设置配置选项了

代码如下:

const instance=axios.create({
baseURL:url,
timeout:1000,
headers:{'X-Custom-Header':'foobar'}
})

配置默认值

对于每次请求相同的配置选项,可以通过配置选项设置默认值来简化代码的编写。项目中使用到的全局axios默认值可以在项目的入口文件main.js中进行配置

代码如下:

axios.defaults.baseURL = 'url'
axios.defaults.headers.common['Authorzaiion']=AUTH_TOKEN
axios.defaults.headers.post['Content-Type']='application/x-www-from-urlencoded'
axios.defaults.withCredentials=true

也可以在自定义实例中设置配置默认值,这些配置选项只有在使用该实例发起请求时才生效。

代码如下:

//创建实例时设置默认值
const instance=axios.create({
    baseURL:URL
})
//实例后设置配置默认值
instance.defaults.headers.common['Authorizaiion']=AUTH_TOKEN

拦截器

有时需要统一处理http的请求和响应,axios拦截器的使用

代码如下:

添加请求拦截器

axios.interceptors.request.use(function(config){
    return config
},function(error){
    return Promise.reject(error)
})

添加响应拦截器

axios.interceptors.response.use(function (response){
    return response
},function(error){
    return Promise.reject(error)
})

自定义的axios实例添加拦截器

const instance=axios.create()
instance.interceptors.request.use(function(config){
    return config
},function(error){
    return Promise.reject(error)
})

移除拦截器

const myInterceptor=axios.interceptors.request.use(function(config){
    return config
},function(error){
    return Promise.reject(error)
})
axios.interceptors.request.eject(myInterceptor)

服务端通信的axios库的使用已经讲完了,该库的使用并不复杂,不过由于需要服务端提供数据访问接口,没有代码演示

目录
相关文章
|
存储 算法 关系型数据库
【CEPH-初识篇】ceph详细介绍、搭建集群及使用,带你认识新大陆
你好,我是无名小歌。 今天给大家分享一个分布式存储系统ceph。 什么是ceph? Ceph在一个统一的系统中独特地提供对象、块和文件存储。Ceph 高度可靠、易于管理且免费。Ceph 的强大功能可以改变您公司的 IT 基础架构和管理大量数据的能力。Ceph 提供了非凡的可扩展性——数以千计的客户端访问 PB 到 EB 的数据。ceph存储集群相互通信以动态复制和重新分配数据。
1674 0
【CEPH-初识篇】ceph详细介绍、搭建集群及使用,带你认识新大陆
|
10月前
|
算法 测试技术 vr&ar
Unity Vufoia+AR模型抖动的问题
**图像识别与跟踪精度问题**:Vuforia 依赖特征点检测,环境光线不稳定、目标纹理不丰富或遮挡会导致特征点匹配误差,引起AR模型抖动。跟踪丢失和重定位延迟也会导致模型不稳定。 **设备硬件与性能问题**:移动设备摄像头易受手持抖动影响,低性能设备无法及时处理图像数据,导致跟踪结果更新延迟。 **模型与坐标系问题**:AR模型重心设置不合理或坐标系转换误差,会使模型在虚拟空间中不稳定。 **算法与参数设置问题**:跟踪算法局限性和参数设置不合理(如灵敏度过高或平滑度过低)都会影响跟踪稳定性。 。
|
人工智能 弹性计算 算法
一文解读:阿里云AI基础设施的演进与挑战
一文解读:阿里云AI基础设施的演进与挑战
|
人工智能 分布式计算 BI
透视开源生态,OSGraph——GitHub全域数据图谱的智能洞察工具
【7月更文挑战第5天】透视开源生态,OSGraph——GitHub全域数据图谱的智能洞察工具
透视开源生态,OSGraph——GitHub全域数据图谱的智能洞察工具
|
C语言
51单片机汇编语言流水灯代码
51单片机汇编语言流水灯代码
378 1
|
Windows
查看LabVIEW及各个模块和驱动的版本号
查看LabVIEW及各个模块和驱动的版本号
444 0
|
边缘计算 自动驾驶 物联网
边缘计算与5G网络:未来智能生活的双重引擎
**边缘计算与5G携手驱动智能生活:**随着物联网爆发,边缘计算将处理带至设备边缘,提升效率,降低延迟,如智能交通系统的实时数据分析。5G网络以其高速、低延迟特性,支持高清流媒体及自动驾驶等应用。两者结合,为智能家居等场景提供无缝连接与即时响应,构建更高效、智能的未来生活。关注我们,洞见更多科技前沿!
|
SQL 关系型数据库 数据库
左连接和右连接的区别?
左连接和右连接的区别?
675 0
|
存储 编解码 编译器
FFmpeg 7.0 正式登场:全新 VVC 解码器
【4月更文挑战第9天】最新版本的流行视频处理软件FFmpeg 7.0,代号为“Dijkstra”,已正式发布。
549 0