1.0.2 • Published 7 years ago

browser-event-emitter v1.0.2

Weekly downloads
9
License
MIT
Repository
github
Last release
7 years ago

browser-event-emitter

Simple implementation of EventEmitter in browser.

For building you can use Webpack or something like it.

Install

npm install browser-event-emitter --save

Usage

Create your es6 file:

import EventEmitter from 'browser-event-emitter';


function test() {
    let eventEmitter = new EventEmitter();

    eventEmitter.on('test', (data) => {
        console.log('test 1. Data is ' + data);
    });

    function cb() {
        console.log('test 2');
    }
    eventEmitter.on('test', cb);

    console.log(eventEmitter.eventNames()); // ['test']

    eventEmitter.emit('test', 'test data');


    console.log('remove one listener');
    eventEmitter.removeListener('test', cb);

    eventEmitter.emit('test', 'new test data');
}

export default test();

and then build it with webpack.

Add to html page you generated script and open console tab in devtools:

<script src='my-bundle.js'></script>

you will see:

['test']
test 1. Data is test data
test 2
remove one listener
test 1. Data is new test data

API

eventEmitter.addListener(eventName, listener)

Alias for eventEmitter.on(eventName, listener).

eventEmitter.on(eventName, listener)

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

let eventEmitter = new EventEmitter();

eventEmitter.on('test', (data) => {
    console.log('test 1. Data is ' + data);
});

eventEmitter.removeListener(eventName, listener)

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

eventEmitter.removeListener('test', callback);

eventEmitter.removeAllListeners(eventName)

Removes all listeners, or those of the specified eventName.

eventEmitter.removeAllListeners('test');

eventEmitter.emit(eventName, arg1, ...)

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

eventEmitter.emit('test', 'data', 'another data');

eventEmitter.eventNames()

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

let eventEmitter = new EventEmitter();

eventEmitter.on('bar', () => { });
eventEmitter.on('foo', () => { });

console.log(eventEmitter.eventNames()); // ['bar', 'foo']