Options
All
  • Public
  • Public/Protected
  • All
Menu

监听者模式

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

Type parameters

  • T: EventMap

    预设的监听回调类型

Hierarchy

Index

Constructors

constructor

Methods

emit

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

    Type parameters

    • K: string | number | symbol

      预设的监听事件名称

    Parameters

    • name: K

      事件类型

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

      触发事件的数据

    Returns boolean

    canceled 是否被触发取消

hasListener

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

    Parameters

    • name: keyof T

      事件类型

    Returns boolean

off

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

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

    Type parameters

    • K: 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

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

    Type parameters

    • K: 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

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

    Type parameters

    • K: 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

        解除事件