是不是可以这么理解修改后的request方法?
来源:7-4 -1 axios 函数重载 - 需求分析+ 重载实现+ demo 编写
 
			fatbin
2019-07-03
如果单独使用Axios类,是不是可以理解修改后的参数都是any类型的request方法其实跟直接使用js差不多(除了限制了返回类型)?
另外能不能对类的方法进行重载?类似在Axios接口里面定义多个request方法
=update=
对于第一个问题,其实我是觉得Axios类的request方法写起来跟直接写js差不多(参数都是any类型)。
request(url: any, config?: any): AxiosPromise {
    if (typeof url === 'string') {
      if (!config) {
        config = {}
      }
      config.url = url
    } else {
      // 如果url不是一个字符串,意味这这里直接就传入了一个config配置
      config = url
    }
    return dispatchRequest(config)
  }
之所以能如此“随意”是不是因为我们的Axios类最终还是通过配合AxiosInstance接口使用的?AxiosInstance接口就会对参数的“结构”进行限制?
写回答
	2回答
- 
				
				写 any 是为了实现重载,对外提供的接口对类型有限制就可以了 112019-07-23
- 
				  ustbhuangyi 2019-07-04 没太明白你提的第一个问题,是不是可以配合代码演示一下? 
 第二个问题是可以的啊,这个课程不就去 Axios 类的 request 方法重载了么,但是实现的话并不能在类上定义多个 request 方法,只能在内部实现,而在类型定义的时候,可以定义多个接口。因为 TypeScript 终究是要编译成 JavaScript,不可能跨越 JavaScript 的语法限制。012019-07-08
相似问题
