Options
All
  • Public
  • Public/Protected
  • All
Menu

监听者模式

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

Type Parameters

Hierarchy

Implemented by

Index

Constructors

Methods

  • emit<K>(name: K, ...data: Parameters<T[K]>): boolean
  • 触发事件

    Type Parameters

    • K extends string | number | symbol

      预设的监听事件名称

    Parameters

    • name: K

      事件类型

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

      触发事件的数据

    Returns boolean

    canceled 是否被触发取消

  • hasListener(name: keyof T): boolean
  • 判断是否注册了事件

    Parameters

    • name: keyof T

      事件类型

    Returns boolean

  • off<K>(name?: K, callback?: ((...args: Parameters<T[K]>) => ReturnType<T[K]>)): void
  • 解除事件

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

    Type Parameters

    • K extends string | number | symbol

      预设的监听事件名称

    Parameters

    • Optional name: K

      事件类型

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

      事件回调函数

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

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

          Returns ReturnType<T[K]>

    Returns void

  • on<K>(name: K, callback: ((...args: Parameters<T[K]>) => ReturnType<T[K]>), once?: boolean): (() => void)
  • 注册事件

    Type Parameters

    • K extends string | number | symbol

      预设的监听事件名称

    Parameters

    • name: K

      事件类型

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

      事件回调函数

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

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

          Returns ReturnType<T[K]>

    • Optional once: boolean

      是否只执行一次

    Returns (() => void)

    解除事件

      • (): void
      • 注册事件

        Returns void

        解除事件

  • once<K>(name: K, callback: ((...args: Parameters<T[K]>) => ReturnType<T[K]>)): (() => void)
  • 注册事件(是否只执行一次)

    Type Parameters

    • K extends string | number | symbol

      预设的监听事件名称

    Parameters

    • name: K

      事件类型

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

      事件回调函数

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

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

          Returns ReturnType<T[K]>

    Returns (() => void)

    解除事件

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

        Returns void

        解除事件