Class FunctionWrap

函数经

包装函数,以及对应的拆包

Hierarchy

  • FunctionWrap

Constructors

Properties

_state: {
    [uuid: string]: boolean;
} = {}

Type declaration

  • [uuid: string]: boolean
_wrapFResult: {
    [cuuid: string]: any;
} = {}

Type declaration

  • [cuuid: string]: any

Methods

  • 扩展继承函数

    可用于扩展原型中原有API中的实现

    class A
    {
    a = "a";

    f(p: string = "p", p1: string = "")
    {
    return p + p1;
    }

    extendF: (p?: string, p1?: string) => string;
    oldf: (p?: string, p1?: string) => string;
    }

    var a = new A();
    a.oldf = a.f;
    a.extendF = function (p: string = "p", p1: string = "")
    {
    return ["polyfill", this.a, this.oldf()].join("-")
    }
    functionwrap.extendFunction(a, "f", function (r)
    {
    return ["polyfill", this.a, r].join("-");
    });
    // 验证 被扩展的a.f方法是否等价于 a.extendF
    assert.ok(a.f() == a.extendF()); //true

    Type Parameters

    • T

    • K extends string | number | symbol

    • V extends ((...args: any) => any)

    Parameters

    • object: T

      被扩展函数所属对象或者原型

    • funcName: K

      被扩展函数名称

    • extendFunc: ((this: T, r: ReturnType<V>, ...ps: Parameters<V>) => ReturnType<V>)

      在函数执行后执行的扩展函数

        • (this: T, r: ReturnType<V>, ...ps: Parameters<V>): ReturnType<V>
        • Parameters

          • this: T
          • r: ReturnType<V>
          • Rest ...ps: Parameters<V>

          Returns ReturnType<V>

    Returns void

  • 取消包装函数

    与wrap函数对应

    Type Parameters

    • T

    • K extends string | number | symbol

    • V extends Function

    Parameters

    • object: T

      函数所属对象或者原型

    • funcName: K

      函数名称

    • Optional wrapFunc: V

      在函数执行前执行的函数

    Returns void

  • 包装函数

    一般用于调试 使用场景示例:

    1. 在函数执行前后记录时间来计算函数执行时间。
    2. 在console.error调用前使用 debugger 进行断点调试。

    Type Parameters

    • T

    • K extends string | number | symbol

    • F extends Function

    Parameters

    • object: T

      函数所属对象或者原型

    • funcName: K

      函数名称

    • Optional beforeFunc: F

      在函数执行前执行的函数

    • Optional afterFunc: F

      在函数执行后执行的函数

    Returns void

  • 包装一个异步函数,使其避免重复执行

    使用场景示例:同时加载同一资源时,使其只加载一次,完成后调用所有相关回调函数。

    Parameters

    • funcHost: Object

      函数所属对象

    • func: Function

      函数

    • params: any[]

      函数除callback外的参数列表

    • callback: ((...args: any[]) => void)

      完成回调函数

        • (...args: any[]): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    Returns void

Generated using TypeDoc