请稍等 ...
×

采纳答案成功!

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

Promise<T>里面的泛型T的作用是什么

export interface AxiosPromise extends Promise {
}

这里我们定义一个AxiosPromise接口时去继承了typescript定义的泛型接口Promise,这里的泛型接口Promise接口了一个泛型T。
但是我不太明白这个泛型T是应用在哪里的?

typescript源码里这段是

interface Promise {
readonly [Symbol.toStringTag]: “Promise”;
}

求教这里的泛型T后面会应用在哪里?

正在回答

1回答

Promise<T> 中的 T 主要是为了定义响应接口的数据类型
https://img1.sycdn.imooc.com//szimg/5e57e8e20922b33315440944.jpg
https://img1.sycdn.imooc.com/szimg/5e57e8f6090be83521260618.jpg

其实原理很简单,就是你在请求的时候传递了类型 T,那么我就可以保留这个类型 T,然后再返回数据响应的时候返回的 data 就是这个类型 T,那么用户就拿到响应数据类型了。

0 回复 有任何疑惑可以回复我~
  • 提问者 Lynnnnnnnn #1
    嗯谢谢老师,这里我能理解,我不理解的是typescript源码里的 interface Promise<T> {} 这里的T是规定了后面谁的类型,我猜测是规定了Promise对象的resolve方法的参数类型,不知道是不是这样的?
    回复 有任何疑惑可以回复我~ 2020-02-28 15:15:04
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信