//#region src/types/promise.d.ts /** * 获取一个Promise类型的返回值类型 * @public */ type PromiseType> = T extends Promise ? U : never; /** * 递归获取一个Promise类型的返回值类型 * 处理嵌套的Promise类型 * @public */ type DeepPromiseType> = T extends Promise ? ValueType extends Promise ? DeepPromiseType : ValueType : never; /** * 去掉DeepPromiseType的类型约束,可以简化代码 */ /** * @deprecated * ts有内置的Awaited * 获取PromiseLike,即具有满足PromiseA+的then方法函数的返回值类型,递归获取 * 这里不用PromiseLike是因为any更宽松一些 * @public */ type DeepAwaited

> = P extends PromiseLike ? R extends PromiseLike ? DeepAwaited : R : P; //#endregion export { DeepAwaited, DeepPromiseType, PromiseType };