# EventEmitter

> The EventEmitter class is defined and exposed by the events module: ``` javascript const EventEmitter = require('events'); ``` All EventEmitters emit the event 'newListener' when new listeners are added and 'removeListener' when existing listeners are removed.

- Source: https://titaniumsdk.com/docs/sdk/12.7.1/EventEmitter
- Titanium SDK version: 12.7.1
- Kind: pseudo
- Platforms: Android, iPhone, iPad, macOS
- Since: Titanium SDK 8.1.0

## Methods

### addListener

- Platforms: Android, iPhone, iPad, macOS

Alias for [EventEmitter.on](https://titaniumsdk.com/docs/sdk/EventEmitter.md#on)

Parameters:

- `eventName` (String): The event name
- `listener` (Function): The event listener/callback function

Returns: EventEmitter

### emit

- Platforms: Android, iPhone, iPad, macOS

Synchronously calls each of the listeners registered for the event named eventName, in the order they were registered, passing the supplied arguments to each.

Returns `true` if the event had listeners, `false` otherwise.

Parameters:

- `eventName` (String): The event name
- `args` (any, optional, repeatable): Optional arguments to pass along to event listeners

Returns: Boolean

### eventNames

- Platforms: Android, iPhone, iPad, macOS

Returns an array listing the events for which the emitter has registered listeners.

Returns: Array<String>

### getMaxListeners

- Platforms: Android, iPhone, iPad, macOS

Returns the current max listener value for the `EventEmitter` which is either set by [EventEmitter.setMaxListeners](https://titaniumsdk.com/docs/sdk/EventEmitter.md#setMaxListeners) or defaults to [events.defaultMaxListeners](https://titaniumsdk.com/docs/sdk/events.md#defaultMaxListeners).

Returns: Number

### listenerCount

- Platforms: Android, iPhone, iPad, macOS

Returns the number of listeners listening to the event named `eventName`.

Parameters:

- `eventName` (String): The event name

Returns: Number

### listeners

- Platforms: Android, iPhone, iPad, macOS

Returns a copy of the array of listeners for the event named `eventName`.

Parameters:

- `eventName` (String): The event name

Returns: Array<Function>

### off

- Platforms: Android, iPhone, iPad, macOS

Alias for [EventEmitter.removeListener](https://titaniumsdk.com/docs/sdk/EventEmitter.md#removeListener).

Parameters:

- `eventName` (String): The event name
- `listener` (Function): The event listener/callback function

Returns: EventEmitter

### on

- Platforms: Android, iPhone, iPad, macOS

Adds the listener function to the end of the listeners array for the event named eventName.

No checks are made to see if the listener has already been added.

Multiple calls passing the same combination of eventName and listener will result in the listener being added, and called, multiple times.

Parameters:

- `eventName` (String): The event name
- `listener` (Function): The event listener/callback function

Returns: EventEmitter

### once

- Platforms: Android, iPhone, iPad, macOS

Adds a **one-time** listener function for the event named `eventName`. The next time `eventName` is triggered, this listener is removed and then invoked.

Parameters:

- `eventName` (String): The event name
- `listener` (Function): The event listener/callback function

Returns: EventEmitter

### prependListener

- Platforms: Android, iPhone, iPad, macOS

Adds the listener function to the *beginning* of the listeners array for the event named `eventName`.

No checks are made to see if the listener has already been added.
Multiple calls passing the same combination of eventName and listener will result in the listener being added, and called, multiple times.

Parameters:

- `eventName` (String): The event name
- `listener` (Function): The event listener/callback function

Returns: EventEmitter

### prependOnceListener

- Platforms: Android, iPhone, iPad, macOS

Adds a **one-time** listener function for the event named `eventName` to the *beginning* of the listeners array. The next time `eventName` is triggered, this listener is removed, and then invoked.

Parameters:

- `eventName` (String): The event name
- `listener` (Function): The event listener/callback function

Returns: EventEmitter

### rawListeners

- Platforms: Android, iPhone, iPad, macOS

Returns a copy of the array of listeners for the event named `eventName`, including any wrappers (such as those created by `.once()`).

Parameters:

- `eventName` (String): The event name

Returns: Array<Function>

### removeAllListeners

- Platforms: Android, iPhone, iPad, macOS

Removes all listeners, or those of the specified `eventName`.

It is bad practice to remove listeners added elsewhere in the code, particularly when the `EventEmitter` instance was created by some other component or module (e.g. sockets or file streams).

Returns a reference to the `EventEmitter`, so that calls can be chained.

Parameters:

- `eventName` (String, optional): The event name

Returns: EventEmitter

### removeListener

- Platforms: Android, iPhone, iPad, macOS

Removes the specified listener from the listener array for the event named `eventName`.

Parameters:

- `eventName` (String): The event name
- `listener` (Function): The event listener/callback function

Returns: EventEmitter

### setMaxListeners

- Platforms: Android, iPhone, iPad, macOS

By default `EventEmitter`s will print a warning if more than `10` listeners are added for a particular event.
This is a useful default that helps finding memory leaks.
The `emitter.setMaxListeners()` method allows the limit to be modified for this specific `EventEmitter` instance.
The value can be set to `Infinity` (or `0`) to indicate an unlimited number of listeners.

Parameters:

- `n` (Number): new max listener count

Returns: EventEmitter

## Events

### newListener

- Platforms: Android, iPhone, iPad, macOS

The `'newListener'` event is emitted after the listener is added.

Event properties:

- `eventName` (String): The event name
- `listener` (Function): The event handler function

### removeListener

- Platforms: Android, iPhone, iPad, macOS

The `'removeListener'` event is emitted after the listener is removed.

Event properties:

- `eventName` (String): The event name
- `listener` (Function): The event handler function

---

- This corpus documents Titanium SDK 13.4.1. Anything here that does not name a version describes 13.4.1.
- Titanium is maintained by TiDev. The Appcelerator toolchain is retired: there is no `appc` CLI, no Appcelerator Studio and no hosted build service. The supported CLI is `titanium` on npm, invoked as `ti`.

