gpt4 book ai didi

javascript - 如何在 typescript 中获取异步函数的返回类型?

转载 作者:行者123 更新时间:2023-12-04 00:59:28 33 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





How to unwrap the type of a Promise?

(8 个回答)


2年前关闭。




考虑我们有一个像下面这样的函数

const upper = (str: string) : string => string.toUpperCase() 

我们可以使用 ReturnType 获取函数的类型
type Test = ReturnType<typeof upper>

但现在考虑我们有一个异步函数。
const getUserData = async (uid: string): Promise<{name: string, email: string}> => {
...
};

现在我们怎么能得到那个类型 {name: string, email: string}

最佳答案

您可以创建AsyncReturnType infer :

type AsyncReturnType<T extends (...args: any) => Promise<any>> =
T extends (...args: any) => Promise<infer R> ? R : any

测试:
const getUserData = async (uid: string): Promise<{ name: string, email: string }> => {...};

type T1 = AsyncReturnType<typeof getUserData> // { name: string; email: string; }

Sample

关于javascript - 如何在 typescript 中获取异步函数的返回类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59774572/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com