监听者模式

new Subscribe<{
"foo": [arg1: number, arg2: string],
"bar": [arg: boolean],
}>()

Type Parameters

Hierarchy (view full)

Constructors

Methods

  • 触发事件

    Type Parameters

    • K extends string | number | symbol

      预设的监听事件名称

    Parameters

    • name: K

      事件类型

    • Rest...data: Parameters<T[K]>

      触发事件的数据

    Returns boolean

    canceled 是否被触发取消

  • 判断是否注册了事件

    Parameters

    • name: keyof T

      事件类型

    Returns boolean

  • 解除事件

    如果 name 不传的话解除对应所有事件 如果 name, callback 不传的话解除所有name的所有事件

    Type Parameters

    • K extends string | number | symbol

      预设的监听事件名称

    Parameters

    • Optionalname: K

      事件类型

    • Optionalcallback: ((...args: Parameters<T[K]>) => ReturnType<T[K]>)

      事件回调函数

        • (...args): ReturnType<T[K]>
        • Parameters

          • Rest...args: Parameters<T[K]>

          Returns ReturnType<T[K]>

    Returns void

  • 注册事件

    Type Parameters

    • K extends string | number | symbol

      预设的监听事件名称

    Parameters

    • name: K

      事件类型

    • callback: ((...args: Parameters<T[K]>) => ReturnType<T[K]>)

      事件回调函数

        • (...args): ReturnType<T[K]>
        • Parameters

          • Rest...args: Parameters<T[K]>

          Returns ReturnType<T[K]>

    • Optionalonce: boolean

      是否只执行一次

    Returns (() => void)

    解除事件

      • (): void
      • Returns void

  • 注册事件(是否只执行一次)

    Type Parameters

    • K extends string | number | symbol

      预设的监听事件名称

    Parameters

    • name: K

      事件类型

    • callback: ((...args: Parameters<T[K]>) => ReturnType<T[K]>)

      事件回调函数

        • (...args): ReturnType<T[K]>
        • Parameters

          • Rest...args: Parameters<T[K]>

          Returns ReturnType<T[K]>

    Returns (() => void)

    解除事件

      • (): void
      • Returns void

  • 等待事件

    Type Parameters

    • K extends string | number | symbol

      预设的监听事件名称

    Parameters

    • name: K

      事件类型

    • Optionalfilter: ((...args: Parameters<T[K]>) => boolean | void)

      事件类型

        • (...args): boolean | void
        • Parameters

          • Rest...args: Parameters<T[K]>

          Returns boolean | void

    Returns Promise<Parameters<T[K]>>

    触发事件的数据