Options
All
  • Public
  • Public/Protected
  • All
Menu

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

template

T 事件名称及其对应的监听器描述

example
const bus = new EventBus<{
  success: () => void,
  error: (message: string) => void,
}>()
const unbindSuccessListener = bus.on('success', () => {
  console.log('成功啦')
})
const unbindErrorListener = bus.once('error', message => {
  console.error(message)
})
bus.emit('success')
bus.emit('error', '出错啦')
unbindSuccessListener()
bus.off('error')

Type parameters

Hierarchy

  • EventBus

Index

Methods

Methods

emit

  • emit<X>(eventName: X, ...args: Parameters<T[X]>): Array<ReturnType<T[X]>>
  • 发布事件。

    Type parameters

    • X: K

    Parameters

    • eventName: X

      事件名称

    • Rest ...args: Parameters<T[X]>

      传给监听器的参数

    Returns Array<ReturnType<T[X]>>

    各监听器的返回结果组成的数组

off

  • off<X>(eventName: X, listener?: undefined | T[X]): void
  • 取消订阅事件,若没有指定监听器,则取消所有监听器。

    Type parameters

    • X: K

    Parameters

    • eventName: X

      事件名称

    • Optional listener: undefined | T[X]

      监听器

    Returns void

on

  • 订阅事件。

    Type parameters

    • X: K

    Parameters

    • eventName: X

      事件名称

    • listener: T[X]

      监听器

    Returns EventBusUnsubscribe

    取消订阅函数

once

  • 订阅事件,但只订阅一次。

    Type parameters

    • X: K

    Parameters

    • eventName: X

      事件名称

    • listener: T[X]

      监听器

    Returns EventBusUnsubscribe

    取消订阅函数

Legend

  • Module
  • Object literal
  • Variable
  • Function
  • Function with type parameter
  • Index signature
  • Type alias
  • Type alias with type parameter
  • Enumeration
  • Enumeration member
  • Property
  • Method
  • Interface
  • Interface with type parameter
  • Constructor
  • Property
  • Method
  • Index signature
  • Class
  • Class with type parameter
  • Constructor
  • Property
  • Method
  • Accessor
  • Index signature
  • Inherited constructor
  • Inherited property
  • Inherited method
  • Inherited accessor
  • Protected property
  • Protected method
  • Protected accessor
  • Private property
  • Private method
  • Private accessor
  • Static property
  • Static method

Generated using TypeDoc