typescript - 如何使用 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>
//...
});
解决方案
推荐阅读
- elasticsearch - 在 Linux 环境中使用多个 JDBC 输入时未创建索引
- ruby - 使用 OpenSSL::SSL::VERIFY_NONE 时 Ruby 中的 Handshake_failure
- networking - 我们可以在防火墙规则中使用标签来允许从一个 gke 集群中的 pod 到另一个使用 ip 别名的 pod 的流量吗?
- azure - 从 PowerShell 连接到 Azure 时出错
- javascript - 在 vue.js 上初始化 JavaScript
- c# - 我无法删除小数 C# Unity
- batch-file - 一些 echo 语句在批处理脚本中不起作用
- scala - EitherT:仅当某个条件为真时调用函数返回 Either(否则返回正确)
- eclipse - 检查是否在 RCPTT 中打开了一个窗口
- apache - 使用自定义端口将 http 重定向到 https