createInstance的作用是什么,为什么要这样做?后续问题

来源:7-3 -3 扩展接口 - 混合对象实现+ demo 编写

yulingE

2019-11-26

createInstance的作用是什么,为什么要这样做?因为写在回复里怕老师看不到,所以重新问一下,这个回答的前半部分

这样做返回的 instance 不仅仅拥有 Axios 类实例的所有方法本身也可以作为一个函数被调用。

可以理解,但是后面部分

也就是你既可以使用 axios.get(url,options)、axios.post(url,options)还可以
axios(options) 或者 axios(url, options)

不太能理解,麻烦老师给解答一下, 主要是不能理解为什么可以axios(url, options)

写回答

2回答

ustbhuangyi

2019-11-27

//img.mukewang.com/szimg/5dde11ba0902e5a611740240.jpg
你还没往后看吧,之后 request 会支持重载的

0
1
yulingE
不好意思,下次往后看了再问
2019-11-27
共1条回复

ustbhuangyi

2019-11-27

const instance = Axios.prototype.request.bind(context)
注意这段代码,instance 就相当于 request 函数的副本,并且执行上下文是 context。由于 request 函数是支持 2 个参数的 request(url, options),所以 instance(url, options) 是可以的,也就相当于 axios(url, options)

0
1
yulingE
request(config: AxiosRequestConfig): AxiosPromise { return dispatchRequest(config) } 可是request只是支持一个参数是config吖
2019-11-27
共1条回复

下一代前端开发语言 TypeScript从零重构axios

课程从零开始重构功能完整的JS库,是学习造轮子的不二之选!

2629 学习 · 877 问题

查看课程