0.0.1 • Published 8 years ago
async-ee v0.0.1
async-ee
The async/await event emitters.
The usage of async-ee is nearly the same as the vanilla EventEmitter, except that asyncEmitter.emit() returns a Promise, while the builtin emitter.emit() returns a boolean value.
Install
$ npm install async-eeUsage
asyncEmitter.emit() returns a Promise, so that we could use it in async functions.
import EventEmitter from 'async-ee'
class MyClass extends EventEmitter {
async doSomething () {
await this.emit('before-event')
const data = await doThings()
await this.emit('after-event', data)
this.emit('sync-event')
return data
}
}
const foo = new MyClass()
.on('before-some-event', async () => await validateFromRemoveServer())
.on('after-event', async data => await doTheTracking(data))
.on('sync-event', () => console.log('did something'))
;(async function () {
const data = await foo.doSomething()
})emitter.emit(eventName, ...args)
Run event handlers with Promise.all.
emitter.emitSeries(eventName, ...args)
Run event handlers in sequence.
License
MIT