# 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
最后更新时间: 12/6/2022, 4:26:59 AM