簡體   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