# EventEmitter<T> · FT4 TypeScript client · Chromia Docs (concept)

> Class that can handle event dispatching. Users can register
event handlers for certain events and when the emit() function
is called, this class will take 

Source: https://docs.chromia.com/pages/ft4-ts-client/classes/events.EventEmitter/

Class

# EventEmitter<T>

On this page

* [Constructors](#constructors)
* [constructor](#constructor)
* [Methods](#methods)
* [emit](#emit)
* [off](#off)
* [on](#on)

Class that can handle event dispatching. Users can register
event handlers for certain events and when the `emit()` function
is called, this class will take care of invoking all of the event
handlers that were registered for events of that type.

#### Type Parameters

* T extends Record<string, any[]>

#### Hierarchy ([View Summary](https://docs.chromia.com/pages/ft4-ts-client/hierarchy/#events.EventEmitter))

* EventEmitter
  + [FTEventEmitter](https://docs.chromia.com/pages/ft4-ts-client/interfaces/events.FTEventEmitter/)

## Constructors

### constructor

* ```signature
  new EventEmitter<T extends Record<string, any[]>>(): EventEmitter<T>
  ```

  #### Type Parameters

  + T extends Record<string, any[]>

  #### Returns [EventEmitter](https://docs.chromia.com/pages/ft4-ts-client/classes/events.EventEmitter/)<[T](#t)>

## Methods

### emit

* ```signature
  emit<K extends string | number | symbol>(event: K, ...args: T[K]): void
  ```

  Fires the event, calling all registered listeners with the provided arguments.

  #### Type Parameters

  + K extends string | number | symbol

  #### Parameters

  + event: [K](https://docs.chromia.com/pages/ft4-ts-client/interfaces/events.FTEventEmitter/#emitk)

    The event name.
  + ...args: [T](#t)[[K](https://docs.chromia.com/pages/ft4-ts-client/interfaces/events.FTEventEmitter/#emitk)]

    The arguments for the listeners.

  #### Returns void

### off

* ```signature
  off<K extends string | number | symbol>(
      event: K,
      listener: Listener<T[K]>,
  ): void
  ```

  Removes a listener for the event.

  #### Type Parameters

  + K extends string | number | symbol

  #### Parameters

  + event: [K](https://docs.chromia.com/pages/ft4-ts-client/interfaces/events.FTEventEmitter/#offk)

    The event name.
  + listener: [Listener](https://docs.chromia.com/pages/ft4-ts-client/types/events.Listener/)<[T](#t)[[K](https://docs.chromia.com/pages/ft4-ts-client/interfaces/events.FTEventEmitter/#offk)]>

    The listener callback.

  #### Returns void

### on

* ```signature
  on<K extends string | number | symbol>(
      event: K,
      listener: Listener<T[K]>,
  ): () => void
  ```

  Registers a new listener for the event.

  #### Type Parameters

  + K extends string | number | symbol

  #### Parameters

  + event: [K](https://docs.chromia.com/pages/ft4-ts-client/interfaces/events.FTEventEmitter/#onk)

    The event name.
  + listener: [Listener](https://docs.chromia.com/pages/ft4-ts-client/types/events.Listener/)<[T](#t)[[K](https://docs.chromia.com/pages/ft4-ts-client/interfaces/events.FTEventEmitter/#onk)]>

    The listener callback.

  #### Returns () => void

  A function that removes the listener when called.

[View this page on docs.chromia.com](https://docs.chromia.com/pages/ft4-ts-client/classes/events.EventEmitter.html)Generated API reference, mirrored from the live docs
