[英]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.