axios创建实例与不创建实例/创建实例的作用

18 篇文章 0 订阅
3 篇文章 0 订阅
本文介绍了axios创建实例的使用,澄清了误解,指出所有axios请求都会创建实例。axios.create()主要适用于需要不同配置的场景,如请求不同服务器、定制请求响应拦截器等。通过创建多个实例,可以实现不同请求的个性化配置,如设置特定headers、独立的加载提示或处理不同服务器返回数据的代码规则。
摘要由CSDN通过智能技术生成

我们看到axios的官方文档中有创建axios实例去发送请求的方式。

const instance = axios.create({
  baseURL: 'https://some-domain.com/api/'
});

其实我们在请求中经常没有用这种创建实例的方式,而是直接:

const axios = require('axios');

axios.get('/user?ID=12345').then(()=>{})

或者

axios({
  method: 'get',
  url: 'http://test.com',
})
  .then(()=>{}) 

其实以上3种方法都是正确的使用axios请求数据的方法。
那什么时候会用到axios.create()创建实例?

这里有一个误区,其实并不是使用了axios.create()才创建了一个实例(单例),而是上面3种方法都创建了实例。
axios.create()的优势是可以创建一个又一个的实例。

axios.create()使用场景
1)在请求不同服务器时,服务器的配置完全不同;比如headers里面放的东西完全不同;
2)在处理请求拦截时处理内容完全不同,比如你可以在实例A的请求拦截里面设置Loading转圈,而在另一个实例B中不使用loading转圈。
3)在处理相应拦截时处理内容完全不同,比如两个不同的axios实例请求了两个完全不同的服务器,而这两个服务器返回数据的code规则完全不同,这就要在各自的拦截器中分别处理了。

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值