繁体   English   中英

Typescript 看不到来自 try/catch 的返回值

[英]Typescript doesn't see return values from try/catch

我有一个 function 可以执行一些数据库操作。 该实现被包装在一个try/catch块中。 例如

async function update({id, ...changes}): Promise<IUserResult> {
 try {
  //code implementation here
  return updatedUser
 } catch(error) {
    console.error
 }
}

Typescript 编译器总是抛出我返回未定义的错误。 我知道这是因为我没有从 function 块本身而是从try/catch块显式返回任何值。 我该如何 go 关于这个? 我刚刚学习 typescript ,我想知道如何让返回值与 function 返回类型相匹配,在这种情况下为IUserResult

非常感谢。

Typescript 想要所有情况下的有效返回类型,但在出现异常时您没有任何返回。

你需要在你的 catch (或者可能 finally )块中返回一些东西,或者让返回类型像 Promise<IUserResult|void>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM