GitHub

@liuli-util/other

Install using

npm install @liuli-util/other

Exported Members

You can access these members by importing the module:

import { member } from '@liuli-util/other';

EventEmitter

class EventEmitter < Events : Record<EventType, any[]> >

事件总线 实际上就是发布订阅模式的一种简单实现 类型定义受到 https://github.com/andywer/typed-emitter/blob/master/index.d.ts 的启发,不过只需要声明参数就好了,而不需要返回值(应该是 {@code void})

Constructors

Properties

Methods

add (...)

function add < E : keyof Events > (
   type : E ,
   callback : CallbackFunc<Events[E]>
) : any

添加一个事件监听程序

@param:

type 监听类型

@param:

callback 处理回调

@returns:

{@code this}

remove (...)

function remove < E : keyof Events > (
   type : E ,
   callback : CallbackFunc<Events[E]>
) : any

移除一个事件监听程序

@param:

type 监听类型

@param:

callback 处理回调

@returns:

{@code this}

removeByType (...)

function removeByType < E : keyof Events > (
   type : E
) : any

移除一类事件监听程序

@param:

type 监听类型

@returns:

{@code this}

emit (...)

function emit < E : keyof Events > (
   type : E ,
   ... args : Events[E]
) : any

触发一类事件监听程序

@param:

type 监听类型

@param:

args 处理回调需要的参数

@returns:

{@code this}

listeners (...)

function listeners < E : keyof Events > (
   type : E
) : any

获取一类事件监听程序

@param:

type 监听类型

@returns:

一个只读的数组,如果找不到,则返回空数组 {@code []}