首页 > 解决方案 > 如何使用 typescript 指定 axios promise 中捕获的错误?

问题描述

当我定义一个 Axios 请求时,要定义响应类型,我会这样做:

interface Project {
    id: number
    name: string
    date_created: string
}

getProject = async (projectID: number) => this.apiEndpoint.get<Project>(`/project/${projectID}/`);

有没有办法在这个级别指定可以在catch承诺部分中捕获的错误类型(而不直接将错误类型放在请求的捕获部分中)?

例子:

interface ProjectPromiseError extends Error{
 message: 'message-1'
}

//...
api.getProject()
.then(res=>{...})
.catch(err =>{ //This is automatically recognized as AxiosError<ProjectPromiseError>
//...
});

标签: typescriptaxios

解决方案


推荐阅读