请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

接口定义问题

请问老师,

  1. 这个一段代码https://img1.sycdn.imooc.com//szimg/5cf5084d000126e605270066.jpg,这个Promise泛型接口是在哪里定义的呢?继承Promise的话,就是需要这样子写吗?

  2. 像类似于ts这种内置的字符串字面量类型https://img1.sycdn.imooc.com//szimg/5cf50b510001130c04890181.jpg是在哪里可以找到呢?

  3. https://img1.sycdn.imooc.com//szimg/5cf50b9f000160c105170151.jpg这一段继承Error有什么意义吗?

谢谢!

正在回答 回答被采纳积分+3

1回答

ustbhuangyi 2019-06-03 21:39:24

1. AxiosResponse 也在 types/index.ts 文件中定义的啊
2. 你鼠标放在 XMLHttpRequestResponseType 上方,command(windows 是 ctral) + 鼠标左键可以看到它的定义文件。
3. 继承 Error 接口你就拥有了 Error 接口中定义的属性了

0 回复 有任何疑惑可以回复我~
  • 提问者 rookie_white #1
    老师,不好意思,是我没表达清楚。
    第一个问题,我想问的是Promise后面为什么要加个泛型变量,当我不给Promise加泛型变量的时候,会报这个错,Generic type 'Promise<T>' requires 1 type argument,  为什么不能够直接interface AxiosPromise extends Promise呢?
    还有第二个新的问题是,为什么说Promise<AxiosResponse> 规定了这个泛型, resolve参数的类型就是AxiosResponse 呢?类型推断起了作用吗?
    回复 有任何疑惑可以回复我~ 2019-06-04 00:10:28
  • ustbhuangyi 回复 提问者 rookie_white #2
    因为 Promise<T> 就是一个泛型接口,必须要传类型变量。第二个问题是 Promise 内部实现呀。
    它提供了泛型变量 T,然后 resolve 的就是 T 类型。所以 Promise<AxiosResponse> 对应 resolve 的就是 AxiosResponse 类型。
    回复 有任何疑惑可以回复我~ 2019-06-04 09:37:49
  • 提问者 rookie_white 回复 ustbhuangyi #3
    噢噢好的,谢谢!
    回复 有任何疑惑可以回复我~ 2019-06-04 22:49:14
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信