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

aznmoe
2019-06-25
老师,我不是很理解为什么要创建 一个 AxiosError 类来 进行错误的信息的处理。
我们完全可以 在 reject 的时候 reject 一个 对象出去吧。效果也是等同的?
事实上 我们 在 resolve 的时候 就是 直接 resolve 出去一个 对象了啊,而并没有说为 resolve 的信息 而创建一个 AxiosResponse 类,仅仅是有一个 AxiosResponse Interface。
如果 有一个 AxiosResponse 类,那么 我们就可以将在 上一节当中处理 响应 headers
及 处理 响应 data
放置到 类中,而不是 全部在 xhr.ts 当中处理?
两者间 为什么会有要这样处理的差异?
然后,我能够想到的 用一个类处理信息的好处如下
- 方便以后的的代码扩展维护,如果以后新增的其它错误信息,不需要跑到 xhr.ts 当中修改,而直接修改 error.ts 当中即可
- 应该也是结合第一点来说的,既是 很好的做到了 代码模块化处理,代码分割?
如果 还有其它的好处,请老师也 一一列举下吧
2回答
-
ni_我_ta
2020-03-10
单独创建一个AxiosError类主要是为了组织代码,因为课程中有多个地方调用了createError(返回AxiosError类实例),不用AxiosError类组织,那么你就要在每个抛出错误的地方返回一个字面量对象(有很多属性),代码结构不好。resolve的时候之所以没有用类组织数据,是因为只在一个地方使用了resolve
00 -
ustbhuangyi
2019-06-25
AxisoError 类的另一个好处是标识它是一个由 Axios 内部发出的错误,因为它有一个 isAxiosError 为 true 的标识。因为在实际使用过程中可能出现的错误原因会有很多,这样用户可以在 catch 中对 e 做判断了。
022019-06-25
相似问题