Options
All
  • Public
  • Public/Protected
  • All
Menu

Class EventEmitter<T>

多个事件的集合管理器

description


node.js EventEmitter的简版
example
// --------- EventEmitter基本使用 -----------
const emitter = new EventEmitter();

// 听事件-》触发事件-》移除事件
const onHover = () => console.log("be hovered!");
emitter.on("hover", onHover);
emitter.emit("hover");
emitter.off("hover", onHover);

// 多个事件监听-》移除
emitter.on("hover", onHover);
emitter.on("hover", onHover);
emitter.removeEventListeners("hover");

// 暂时禁用事件管理器
emitter.beActive = false;

// 移除所有事件的监听器
emitter.removeAllListeners();

// ----------定义事件类型
interface KeyboardEventMap {
    "keydown": KeyboardEvent,
    "keyup": KeyboardEvent
}

const keyboard = new EventEmitter<KeyboardEventMap>();
keyboard.on("keydown", (ev) => {
    console.log(ev.keyCode);
});

Type parameters

  • T = {}

Hierarchy

Index

Properties

Protected _listener

_listener: any = {} as any

beActive

beActive: boolean = true

激活/禁用 事件管理器,在激活状态下,触发事件才会触发监听器

Methods

emit

  • emit<K>(ev: K, params?: T[K]): void
  • 触发指定事件,并传递参数

    Type parameters

    • K: keyof T

    Parameters

    • ev: K

      事件str

    • Optional params: T[K]

      事件传递的可选参数

    Returns void

off

  • off<K>(ev: K, callback: (ev: T[K]) => void): void
  • 取消对指定事件的监听

    Type parameters

    • K: keyof T

    Parameters

    • ev: K

      事件str

    • callback: (ev: T[K]) => void

      监听函数

        • (ev: T[K]): void
        • Parameters

          • ev: T[K]

          Returns void

    Returns void

on

  • on<K>(ev: K, callback: (ev: T[K]) => void): void
  • 为指定事件添加一个监听器到监听器数组的尾部

    Type parameters

    • K: keyof T

    Parameters

    • ev: K

      事件str

    • callback: (ev: T[K]) => void

      监听函数

        • (ev: T[K]): void
        • Parameters

          • ev: T[K]

          Returns void

    Returns void

removeAllListeners

  • removeAllListeners(): void

removeEventListeners

  • removeEventListeners<K>(ev: K): void
  • 移除指定事件的所有监听器

    Type parameters

    • K: keyof T

    Parameters

    • ev: K

      事件

    Returns void

Generated using TypeDoc