vtils

Home > utils > EventBus

EventBus class

事件巴士,管理事件的发布与订阅。

TListeners 事件名称及其对应的回调描述

Signature:

export declare class EventBus<TListeners extends EventBusListeners> 

Example

const bus = new EventBus<{
  success: (payload: { message: string }) => any
}>()
bus.on('success', ({ message }) => console.log(message))
bus.emit('success', { message: '提交成功' })
// => 控制台输出: 提交成功

Constructors

Constructor Modifiers Description
(constructor)(options)   构造函数。

Methods

Method Modifiers Description
clear()   清空事件订阅。
destroy()   销毁。
emit(eventName, args)   发布事件。
off(eventName, callbackOrTag)   取消订阅事件,若没有指定回调,则取消所有回调。
on(eventName, callback)   订阅事件。
once(eventName, callback)   订阅事件,但只订阅一次即取消订阅。