第404天 axios为什么可以使用对象和函数两种方式调用?是如何实现的? [3+1官网](http://www.h-camel.com/index.html) [我也要出题](http://www.h-camel.com/contribution.html)
Activity
longhui520 commentedon May 24, 2020
ruochuan12 commentedon May 29, 2020
因为
axios
是函数。给函数上挂载了一些简写的方法,比如axios.post
,axios.get
等。最后调用的都是
Axios.prototype.request
方法。更具体的可以查看我的这篇文章。
@若川:学习 axios 源码整体架构,打造属于自己的请求库
hyj443 commentedon Oct 21, 2021
首先暴露的axios内部实现是指向一个wrap函数,然后这个函数上挂载了Axios.prototype上所有的属性和方法,包括get post delete等七种,所以axios就能直接这些方法,而且这些原型方法能实际调用是Axios.prototype.request。
axios(configObj)这样调用,就会执行这个wrap方法,它是对Axios.prototype.request封装。
所以无论怎么调用,最后都是靠Axios.prototype.request