老师您好,第七章扩展接口
来源:7-3 -3 扩展接口 - 混合对象实现+ demo 编写

taopoppy
2019-06-17
申明AxiosInstance为一个混合类型后,在axios.ts中为什么不直接写
import dispatchRequest from './core/dispatchRequest’
function _requestMethodWithoutData() {
…
}
function axiosMaker():AxiosInstance {
let axios = dispatchRequest;
axios.get= function(url: string, config?: AxiosRequestConfig): AxiosPromise {
return _requestMethodWithoutData(‘get’, url, config)
};
axios.post = xxx;
…
return axios
}
这样axios也是个混合类型,还不用声明core/Axios.ts中的Axios类
为什么要声明一个Axios的类,再把类上的原型属性拷贝到函数上,感觉很麻烦,有点不太理解
写回答
1回答
-
ustbhuangyi
2019-06-17
目前你这么写似乎没啥问题,不过未来要维护 Axios 实例中的属性如 interceptors、defauts,并且还要支持多个实例的情况,你这段代码该如何设计呢。
032019-06-17
相似问题