The 'EventEmitter' class provides the ability to manage event listeners and issue events. This class works similarly to Node.js' 'EventEmitter' and is designed for use in browser environments.

Constructors

  • Creates an instance of the class 'EventEmitter'.

    Returns EventEmitter

Properties

$storage: object

Internal object that stores events.

addListener: ((event: string, listener: Function) => void)

Alias of the method 'on', which can be used to register an event listener.

Type declaration

    • (event, listener): void
    • Register a listener for the specified event.

      Parameters

      • event: string

        Name of the event.

      • listener: Function

        The function to be called when an event occurs.

      Returns void

      var emitter = new EventEmitter();

      function onFoo(data) {
      console.log ('foo event:', data);
      }

      emitter.on('foo', onFoo);
      emitter.emit('foo', { key: 'value' }); // "foo 이벤트: { key: 'value' }"
isLog: boolean

Determines whether to output console logs.

removeListener: ((event: string, listener: Function) => void)

Alias of the 'off' method, which can be used to remove a listener for a specified event.

Type declaration

    • (event, listener): void
    • Removes the listener for the specified event.

      Parameters

      • event: string

        Name of the event.

      • listener: Function

        Listener function to remove.

      Returns void

      function onQux(data) {
      console.log ('qux event:', data);
      }

      emitter.on('qux', onQux);
      emitter.emit('qux', { key: 'value' }); // "qux 이벤트: { key: 'value' }"

      emitter.off('qux', onQux);
      emitter.emit ('qux', {key: 'value'}); // Nothing happens

Methods

  • Issue the event and call the registered listener.

    Parameters

    • event: string

      Name of the event.

    • Rest...args: any[]

      Arguments to be passed to the event listener.

    Returns boolean

    function onFoo(data) {
    console.log ('foo event:', data);
    }

    emitter.on('foo', onFoo);
    emitter.emit('foo', { key: 'value' }); // "foo 이벤트: { key: 'value' }"
  • Removes the listener for the specified event.

    Parameters

    • event: string

      Name of the event.

    • listener: Function

      Listener function to remove.

    Returns void

    function onQux(data) {
    console.log ('qux event:', data);
    }

    emitter.on('qux', onQux);
    emitter.emit('qux', { key: 'value' }); // "qux 이벤트: { key: 'value' }"

    emitter.off('qux', onQux);
    emitter.emit ('qux', {key: 'value'}); // Nothing happens
  • Register a listener for the specified event.

    Parameters

    • event: string

      Name of the event.

    • listener: Function

      The function to be called when an event occurs.

    Returns void

    var emitter = new EventEmitter();

    function onFoo(data) {
    console.log ('foo event:', data);
    }

    emitter.on('foo', onFoo);
    emitter.emit('foo', { key: 'value' }); // "foo 이벤트: { key: 'value' }"
  • Register an event listener that runs only once.

    Parameters

    • event: string

      Name of the event.

    • listener: Function

      a function that will be called only once when an event occurs.

    Returns void

    emitter.once('bar', function(data) {
    console.log ('bar event:', data);
    });

    emitter.emit('bar', { key: 'value' }); // "bar 이벤트: { key: 'value' }"
    emitter.emit ('bar', {key: 'value'}); // Nothing happens
  • Removes all listeners for the specified event. Omitting the event name removes the listener of all events.

    Parameters

    • Optionalevent: string

      Name of the event, which can be omitted.

    Returns void

    function onQux(data) {
    console.log ('qux event:', data);
    }

    function anotherOnQux(data) {
    console.log('another qux 이벤트:', data);
    }

    emitter.on('qux', onQux);
    emitter.on('qux', anotherOnQux);
    emitter.emit('qux', { key: 'value' }); // "qux 이벤트: { key: 'value' }", "another qux 이벤트: { key: 'value' }"

    emitter.removeAllListeners('qux');
    emitter.emit ('qux', {key: 'value'}); // Nothing happens