关于 extends promise

来源:6-4 错误信息增强 - 创建 AxiosError 类

小学生6年级

2019-04-30

export interface AxiosPromise extends Promise<AxiosResponse> {

}

这是说明 resolved with AxiosResponse 吗,那 reject 不用说明吗。 extends promise 这里没有太了解,有什么具体的作用呢?在原函数中直接声明返回一个Promise 如何呢?

写回答

2回答

ustbhuangyi

2019-04-30

Promise<T> 是一个泛型接口,Promise<AxiosResponse> 就表示 resolve 函数的参数就是 AxiosResponse 类型,reject 没有泛型类型。
extends 的目的就是我可以直接用 AxiosPromise 表示 Promise<AxiosResponse> 了。

0
4
fatbin
回复
ustbhuangyi
我说的是楼主的第二个问题啦,‘在原函数中直接声明返回一个Promise 如何呢?’
2019-07-03
共4条回复

小学生6年级

提问者

2019-04-30

另外想请教下老师 interface AxiosError 中的 isAxiosError 有什么用呢,看您在类中直接赋值为 true 了。

0
1
ustbhuangyi
其实就是给运行时判断是不是一个 AxiosError 用的,这个对使用方是 TS 来说意义不大,但是如果使用方式 JS 来说还是有用的,这个也是为了保持和官网的 axios 接口一致。
2019-04-30
共1条回复

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

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

2629 学习 · 877 问题

查看课程