Promise; 我正在尝试获取 promise 解决的类型。 我能够执行以下操-6ren">
gpt4 book ai didi

javascript - 是否有可能获得 "resolved"类型的 promise ?

转载 作者:行者123 更新时间:2023-12-01 01:18:56 25 4
gpt4 key购买 nike

我有一个从库中定义的函数。

export declare const getUser: (id: string) => Promise<User>;

我正在尝试获取 promise 解决的类型。

我能够执行以下操作来获得 promise :

const fetchUserSuccess = createAction(
'users/GET_ONE_SUCCESS',
(user: ReturnType<typeof API.getUser>) => user,
);

但是,这只会给我 Promise<User>对于user输出,当我需要提取 User

这可以用 typescript 来做吗?

最佳答案

您可以使用条件类型:

export type UnBoxPromise<T> = T extends Promise<infer U> ? U : never;
export declare const getUser: (id: string) => Promise<User>;
const fetchUserSuccess = createAction(
'users/GET_ONE_SUCCESS',
(user: UnBoxPromise<ReturnType<typeof getUser>>) => user,
);

关于javascript - 是否有可能获得 "resolved"类型的 promise ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54444251/

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