1.0.2 • Published 6 years ago

async-events-listener v1.0.2

Weekly downloads
11
License
-
Repository
github
Last release
6 years ago

Async EventsEmitter

Fork from offical events module

Async

change normal events by using async handler.

Example

Sourtce Code:

const a = new EventEmitter();
a.on('aaa', async () => {
    console.log('start:', '1 = ', 'aaa', '->', new Date().getTime());
    await new Promise(resolve => setTimeout(resolve, 3000));
    console.log('end:', '1 = ', 'aaa', '->', new Date().getTime());
});
a.on('aaa', async () => {
    console.log('start:', '2 = ', 'aaa', '->', new Date().getTime());
    await new Promise(resolve => setTimeout(resolve, 3000));
    console.log('end:', '2 = ', 'aaa', '->', new Date().getTime());
});
a.on('aaa', async () => {
    console.log('start:', '3 = ', 'aaa', '->', new Date().getTime());
    await new Promise(resolve => setTimeout(resolve, 3000));
    console.log('end:', '3 = ', 'aaa', '->', new Date().getTime());
});
 
(async () => {
    await a.emit('aaa');
    console.log('all done');
})();

Output:

/**
 * @output:
 * start: 1 =  aaa -> 1487673861652
 * end: 1 =  aaa -> 1487673864656
 * start: 2 =  aaa -> 1487673864657
 * end: 2 =  aaa -> 1487673867663
 * start: 3 =  aaa -> 1487673867663
 * end: 3 =  aaa -> 1487673870664
 * all done
 *
 */