liko
    Preparing search index...

    Class Dispatcher

    事件管理器,用于管理事件的注册、触发和销毁 支持多种事件监听模式:普通监听、一次性监听、批量取消等

    const dispatcher = new Dispatcher();

    // 注册事件监听
    dispatcher.on('test', (data) => console.log('接收到:', data), this);

    // 注册一次性监听
    dispatcher.once('init', () => console.log('初始化完成'));

    // 触发事件
    dispatcher.emit('test', 'hello world');

    // 检查是否有监听器
    if (dispatcher.hasListener('test')) {
    console.log('存在test事件的监听器');
    }

    // 取消特定监听
    dispatcher.off('test', callback, this);

    // 取消所有监听
    dispatcher.offAll();

    // 销毁管理器
    dispatcher.destroy();

    @注意事项

    • 事件类型不区分大小写,'Test'和'test'被视为同一事件
    • 多次注册同一监听器只生效最后一次(会先取消之前的注册)
    • 事件派发期间新增的同类型事件监听器不会收到当前事件通知
    • once监听器执行后会自动从监听列表中移除

    Hierarchy (View Summary)

    Index

    Constructors

    Methods

    • 销毁事件管理器,移除所有监听器并清理资源 销毁后的管理器不应再被使用

      Returns void

    • 派发事件,通知所有监听该事件的处理器

      Parameters

      • type: string

        事件类型,不区分大小写

      • ...args: unknown[]

        传递给监听器的参数,支持任意数量和类型的参数

        @注意事项

        • 事件派发期间新增的同类型事件监听器不会收到当前事件通知
        • once监听器执行后会立即从监听列表中移除
        • 如果没有对应类型的监听器,不会执行任何操作

      Returns void

    • 检查是否有特定类型的事件监听器

      Parameters

      • type: string

        事件类型,不区分大小写

      Returns boolean

      如果存在该类型的事件监听器返回true,否则返回false

    • 取消事件监听

      Parameters

      • type: string

        事件类型,不区分大小写

      • Optionallistener: (...args: unknown[]) => void

        要取消的回调函数,如果为空则删除该类型的所有事件监听

      • Optionalcaller: unknown

        回调函数执行上下文,用于精确匹配要取消的监听器

        @注意事项

        • 如果不提供listener参数,会删除该事件类型的所有监听器
        • caller参数用于区分相同函数但不同上下文的监听器

      Returns void

    • 取消特定上下文的所有事件监听

      Parameters

      • Optionalcaller: unknown

        函数上下文,如果为空则清空所有事件监听

        @注意事项

        • 不提供caller参数会清空所有事件监听
        • 提供caller参数只会清空该上下文下的所有监听器

      Returns void

    • 注册事件监听器

      Parameters

      • type: string

        事件类型,不区分大小写

      • listener: (...args: unknown[]) => void

        回调函数,接收事件参数

      • Optionalcaller: unknown

        回调函数执行上下文,决定函数内this的指向

        @注意事项

        • 多次注册相同的监听器只生效最后一次
        • 会先自动取消之前的注册,避免重复监听

      Returns void

    • 注册一次性事件监听器,事件被执行后自动取消监听

      Parameters

      • type: string

        事件类型,不区分大小写

      • listener: (...args: unknown[]) => void

        回调函数,接收事件参数

      • Optionalcaller: unknown

        回调函数执行上下文,决定函数内this的指向

        @注意事项

        • 监听器只会执行一次,执行后自动销毁
        • 多次注册相同的监听器只生效最后一次

      Returns void