gpt4 book ai didi

typescript - 获取已解决 promise 的返回类型?

转载 作者:搜寻专家 更新时间:2023-10-30 21:44:54 27 4
gpt4 key购买 nike

我想创建一个具有一些默认值的变量,它是从 promise 中解析的返回类型的扩展接口(interface)。我的功能类似于:

function getAge(): Promise<number> {
return new Promise((resolve) => {
resolve(42)
})
}

我的默认值变量是:

let user: { name: string, age: number } = { name: "", age: 0 }

我试过使用 ReturnType<>,但我似乎只能得到返回类型 Promise<number> ,当我只想返回数字时。

最佳答案

您可以使用条件类型来提取 promise 的值类型:

function getAge(): Promise<{ name: string, age: number }> {
return new Promise((resolve) => {
resolve({ name: "", age: 42 })
})
}

type UnboxPromise<T extends Promise<any>> = T extends Promise<infer U> ? U: never;

let user: UnboxPromise<ReturnType<typeof getAge>> = { name: "", age: 0 }

阅读更多关于条件类型的信息 here

关于typescript - 获取已解决 promise 的返回类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57267067/

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