axios响应数据类型怎么定义?

作者站长头像
站长
· 阅读数 19

axios响应数据类型怎么定义?

相关代码

type TResponse = ? // 应该怎么定义
service.interceptors.response.use((response : TResponse) => {
        const res = response.data // 这个结构是固定的 {code:number;msg:string;data:T}
        if (res.code !== 0) {
            return Promise.reject(new Error(res.message || "Error"))
        } else {
            return res
        }
    },
    (error) => {
        return Promise.reject(error)
    }
)


//                         这里code会报错 TS2339: Property  code  does not exist on type  AxiosResponse<any, any> 
 getTableData(fileData).then(({ code, data }) => {
                if (code !== 0) return
  })
回复
1个回答
avatar
test
2024-06-26

举个例子吧:

interface Respones{
    code : number;
    data : any
}
function getTableData(fileData : any){
  return axios.get<void,Respones>('/get')
}

getTableData(fileData)
 .then(({ code, data }) => {}
回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容