[英]Type 'unknown' is not assignable to type 'never' when using ReturnType<typeof myFunction>
[英]ReturnType<typeof F> where F is a function that returns type Promise<T>
我想將變量的類型設置為T
如果F
是一個不返回promise的函數,而只是返回一個T
類型的對象,那么我將做這樣的事情: let x: ReturnType<typeof F>
但是F
是一個返回Promise<T>
的函數
我怎樣才能做到這一點?
您可以改寫Typescript手冊的Advanced Types的條件類型一章中的Type Inference中給出的示例。
type Unpacked<T> =
T extends (...args: any[]) => infer U ? U :
T extends Promise<infer U> ? U :
T;
例如對於fetch
您將得到
type T = Unpacked<Unpacked<typeof fetch>>
// Response
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.