簡體   English   中英

如何處理 Typescript 中的錯誤返回類型?

[英]How do handle Error return types in Typescript?

我有一個函數可以返回一個 Person 類型的對象或一個 Error 類型的對象。 如果不是錯誤,我想有條件地讀取返回對象中鍵的值。

下面代碼片段的最后一行給出了一個錯誤:

類型 'Person | 中不存在屬性'firstName' 錯誤'

該錯誤可以在此鏈接中看到。

 interface Person { firstName: string; lastName: string; } function greeter(person: Person): Person | Error { if (person.firstName === 'Malcolm') { return new Error('This firstName is not allowed'); } return { firstName: person.firstName, lastName: person.lastName, }; } const x = greeter({ firstName: "Malcolm", lastName: "Reynolds", }); const { firstName, lastName } = x;

對於某些情況,我必須返回錯誤。 不能跳過。

提前致謝!

首先,我建議您將greeter()包裝在try ... catch塊中以處理錯誤。

如果你想這樣做,你可以執行以下操作。

const val = greeter({
    firstName: "Malcolm",
    lastName:  "Reynolds",
})

if (typeof val == Person) { 
const x = val as Person;
const {firstName, lastName} = x;
}

在這里您可以檢查結果的類型並進行相應的操作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM