axios 请求性能优化的思考

这里封装了一个 Axios 的请求类,提供了发送请求的 request 方法
image.png

每一个 API 接口使用其进行 ajax 请求用法如下:
image.png

这样写的意思是,每调用一次 API 都执行一遍 request 方法,也就是需要创建一次 axios 实例对象

我在思考,这是如果在 Axios 请求类中使用唯一一个 axios 单例,任意个 API 接口调用都是用该单例,这种方案是否可行。

主要考虑到频繁创建 axios 实例的话会有点影响性能


在 stackoverflow 上搜索了下,axios.create() 创建过个实例对象会需要额外的垃圾回收

https://stackoverflow.com/que...

阅读 6.9k
3 个回答

常用规情况下用官方推荐的单例。用axios.create()通常是在有类似的配置选项,但具体略有不同的情况下进行,比如请求谓词不一样。

很少有这种一直创建的情况吧。

常规操作就是创建一个单例,然后设置一堆配置。然后一直使用。

axios 底层还是调用浏览器的 API,所以说限制其实还在浏览器

和你每次重新创建,还是单例没关系的

几乎从来没用过 axios.create(),都是 axios.defaults.XXX 设置好以后直接 get 或者 post。
再说了,axios本来就可以这样写:

axios({
  method: 'post',
  url: '/api/……',
  data: param
})

你这个封装好像没什么意义啊。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题