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

来源:7-5 -1 响应数据支持泛型- 需求分析+ 接口添加泛型参数+ demo 编写

Lynnnnnnnn

2020-02-27

export interface AxiosPromise extends Promise {
}

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

typescript源码里这段是

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

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

写回答

1回答

ustbhuangyi

2020-02-28

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

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

0
1
Lynnnnnnnn
嗯谢谢老师,这里我能理解,我不理解的是typescript源码里的 interface Promise {} 这里的T是规定了后面谁的类型,我猜测是规定了Promise对象的resolve方法的参数类型,不知道是不是这样的?
2020-02-28
共1条回复

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

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

2629 学习 · 877 问题

查看课程