typescript - 返回类型其中 F 是返回类型 Promise 的函数
问题描述
我想将变量的类型设置为T
.
如果F
是一个没有返回承诺并且只返回一个类型的函数的函数T
,我会做这样的事情:
let x: ReturnType<typeof F>
但是F
是一个返回 a 的函数Promise<T>
我怎样才能做到这一点?
解决方案
您可以调整Typescript 手册的高级类型的条件类型中的类型推断部分中给出的示例
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
推荐阅读
- android - 如何制作从上到下稍微弯曲的反应角?我的意思是顶部的从上到下的曲线
- regex - 正则表达式删除除字符串以外的所有文本
- python - 无法运行由 pyinstaller 创建的 exe 文件
- networkx - 区分不同颜色的类 Networkx
- python - 在 Django Rest Framework 中,编写自定义函数来过滤 db
- html - 响应式滚动背景问题
- reactjs - 如何从反应组件中的按钮组中获取值
- hive - 为什么 Hive 不喜欢这个查询?
- python - 通道。2 暴力 Python 语法错误:ValueError:int() 的无效文字,基数为 10:'21,'
- r - 使用 `Matrix::sparseMatrix` [R] 创建稀疏矩阵时列的顺序错误