# function 工具类型
在 CodeSandBox 中尝试 (opens new window)
注意:function
为 js 关键字,导入时,请自行起别名
# Noop 普通函数类型
普通函数类型
用于约束其他类型
type Noop = (...args: any) => any
# GetAsyncFunctionReturnType 异步函数返回值
获取异步函数返回值
泛型参数
- F
- 约束
Noop
- 必须
是
- 约束
示例
import * as t from "typescript-lodash"
const request = async () => {
return {
code: 0,
success: true,
data: []
}
}
type Result = t.function.GetAsyncFunctionReturnType<typeof request> // { code: number; success: boolean; data: never[] }
# GetFunctionLength 函数类型长度
获取函数类型参数的个数
泛型参数
- F
- 约束
Noop
- 必须
是
- 约束
示例
import * as t from "typescript-lodash"
const request = async () => {
return {
code: 0,
success: true,
data: []
}
}
type Result = t.function.GetFunctionLength<typeof request> // 1
# Bind 修改 this
获取函数类型 this 类型和参数类型
泛型参数
F
- 约束
Noop
- 必须
是
- 约束
NewThisType
- 约束
any
- 必须
否
- 默认
null
- 注:新的 this 类型
- 约束
NewParams
- 约束
unknown[]
- 必须
否
- 默认
[]
- 注:新的参数类型,长度应小于等于旧参数类型
- 约束
示例
import * as t from "typescript-lodash"
const request = async (id: number) => {
return {
code: 0,
success: true,
data: []
}
}
type Result = t.function.Bind<typeof request, typeof globalThis, [string]> // (this: GlobalThis, arg_0: string): void