Options
All
  • Public
  • Public/Protected
  • All
Menu

Events事件通信类

新增于v0.0.18

脚本举例

  import { Events } from '@tomato-js/events';
  const e = new Events();
  e.on('foo',data=>data);
  e.once('foo',data=>data);//只监听一次
  e.emit('foo','bar')
  e.clear('foo')//清除事件

Hierarchy

  • Events

Index

Constructors

constructor

Properties

Private events

events: Map<string, Listeners>

Private eventsCount

eventsCount: number

Methods

Private addEventListener

  • addEventListener(event: string, fn: FunctionType, context: unknown, once: boolean): void

clear

  • clear(event?: undefined | string, fn?: FunctionType): boolean
  • 清除事件

    新增于v0.0.18

    脚本举例

      import { Events } from '@tomato-js/events'
      const e = new Events();
      function foo() {}
      function bar() {}
      function baz() {}
      e.on('foo', foo);
      e.on('bar', bar);
      e.on('bar', baz);
      e.clear('foo');//清除一个key上所有事件回调
      e.clear('bar',bar);//清除一个key上指定事件回调
      e.clear();//清除所有key所有事件回调

    Parameters

    • Optional event: undefined | string

      事件名称

    • Optional fn: FunctionType

      事件回调函数

    Returns boolean

clearAll

  • clearAll(): void
  • 清除所有事件

    新增于v0.0.18

    脚本举例

      import { Events } from '@tomato-js/events'
      const e = new Events();
      function foo() {}
      function bar() {}
      function baz() {}
      e.on('foo', foo);
      e.on('bar', bar);
      e.on('bar', baz);
      e.clearAll();//清除所有key所有事件回调

    Returns void

emit

  • emit(event: string, ...args: unknown[]): undefined | false
  • 触发事件

    新增于v0.0.18

    脚本举例

      import { Events } from '@tomato-js/events'
      const e = new Events();
      function foo() {}
      function bar() {}
      function baz() {}
      e.on('foo', foo);
      e.on('bar', bar);
      e.on('bar', baz);
      e.emit('bar');

    Parameters

    • event: string

      事件名称

    • Rest ...args: unknown[]

      透传剩余参数

    Returns undefined | false

listeners

  • listeners(event: string): undefined | ObjectType<any>
  • 获取事件函数列表

    新增于v0.0.18

    脚本举例

      import { Events } from '@tomato-js/events'
      const e = new Events();
      function foo() {}
      function bar() {}
      function baz() {}
      e.on('foo', foo);
      e.on('bar', bar);
      e.on('bar', baz);
      e.listeners('bar')
      //[bar,baz]

    Parameters

    • event: string

      事件名称

    Returns undefined | ObjectType<any>

    执行函数列表

on

  • on(event: string, fn: FunctionType, context?: unknown): void
  • 注册事件

    新增于v0.0.18

    脚本举例

      import { Events } from '@tomato-js/events'
      const e = new Events();
      function foo() {}
      function bar() {}
      function baz() {}
      e.on('foo', foo);
      e.on('bar', bar);
      e.on('bar', baz);

    Parameters

    • event: string

      事件名称

    • fn: FunctionType

      事件回调函数

    • Default value context: unknown = this

    Returns void

once

  • once(event: string, fn: FunctionType, context?: unknown): void
  • 注册事件,只响应一次

    新增于v0.0.18

    脚本举例

      import { Events } from '@tomato-js/events'
      const e = new Events();
      function foo() {}
      function bar() {}
      function baz() {}
      e.once('foo', foo);
      e.once('bar', bar);
      e.once('bar', baz);

    Parameters

    • event: string

      事件名称

    • fn: FunctionType

      事件回调函数

    • Default value context: unknown = this

    Returns void

Private removeListener

size

  • size(): number
  • 获取事件回调总数

    新增于v0.0.18

    脚本举例

      import { Events } from '@tomato-js/events'
      const e = new Events();
      function foo() {}
      function bar() {}
      function baz() {}
      e.on('foo', foo);
      e.on('bar', bar);
      e.on('bar', baz);
      e.size()
      //3

    Returns number

    事件回调总数

Generated using TypeDoc