0.1.0 • Published 5 years ago

asynchronous-emitter v0.1.0

Weekly downloads
71
License
MIT
Repository
github
Last release
5 years ago

Asynchronous Event Emitter

Nodejs Events runs in synchronous mode. This means that event listeners that are async cannot be awaited. This package extends the EventEmitter class and enables the promises to chain into the emit event.

const AsyncEventEmitter = require('asynchronous-emitter');
const events = new AsyncEventEmitter();

// it's the same core EventEmitter apis and behavior
events.on('event', () => {
  return new Promise((resolve, reject) => {
    setTimeout(() => {
      console.log('event will resolve');
      resolve();
    }, 100);
  });
});

// but it await events
async function test() {
  await events.emit('event');
  console.log('event awaited');
}
test();