这两天老大让我优化项目代码,把axios请求回来的数据做统一接口结构的封装,过程中遇到了一些坑,特将问题记录下来,以便以后回顾

问题

Argument of type '(res: IAxiosResponse) => void' is not assignable to parameter of type '(value: unknown) => void | PromiseLike<void>'.
Types of parameters 'res' and 'value' are incompatible.
Type 'unknown' is not assignable to type 'IAxiosResponse'.

描述

一开始我直接在全局声明了一个接口
image.png

直接匹配返回值
image.png

报了类型不匹配的错误
image.png

看到报错的意思大概是:返回类型“unknown”不能分配给类型“IAxiosResponse”

解决方法
顺着问题找到axio封装那层检查Promise返回类型的定义,想着可不可以给Promise定义返回类型
于是我网上找到给Promise定义返回值的方法:https://www.jianshu.com/p/4f7...

代码
image.png

这时问题就解决了


Mandy
3 声望0 粉丝