javascript - 如何处理具有两种可能返回类型的 ts 函数
问题描述
我有一个函数返回一个带有布尔值的已解决承诺,但它有可能会拒绝该承诺,如果确实如此,我需要它返回一个错误对象。
export async function someFunc(): Promise<boolean> {
return await socket
.send(something)
.then(() => {
return Promise.resolve(boolean);
})
.catch((error: ISocketError) => {
return Promise.reject(errorObject);
});
}
除了将函数返回类型声明为Promise<boolean | ISocketError>
, (这将导致我必须将要保存的变量声明为相同类型),有没有办法解决这个问题?
解决方案
推荐阅读
- var - 正交脉冲响应的解释
- javascript - 读取 json 对象的属性时出现问题
- json - 如何将 JSON 数据转换为对象以便稍后将其用于表中?
- php - 在配置中创建动态关联数组
- envoyproxy - envoy 配置解析错误 INVALID_ARGUMENT:Unexpected token
- html - 如何在标题的同一行添加按钮?
- python - Entrez eFetch 登录号
- android - 如何在两个活动之间传递 SimpleExoPlayer 实例?
- android - 在执行多个后台任务 Kotlin Coroutines 或 ThreadPool 时,哪种方法更好?
- kotlin - 使用 Kotlin 过滤列表并维护标题元素