首页 > 解决方案 > 如何处理具有两种可能返回类型的 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>, (这将导致我必须将要保存的变量声明为相同类型),有没有办法解决这个问题?

标签: javascripttypescriptpromise

解决方案


推荐阅读