Event Emitter Grouped
Emit events in serial or parallel with support for synchronous and asynchronous listeners
Usage
Complete API Documentation.
var EventEmitterGrouped = require('event-emitter-grouped')
var emitter = new EventEmitterGrouped()
emitter.on('hello', function (next) {
console.log('\tasync started')
setTimeout(function () {
console.log('\tasync finished')
next()
}, 1000)
})
emitter.on('hello', function () {
console.log('\tsync started and finished')
})
function vipListener() {
console.log('\tvip started and finished')
}
vipListener.priority = 1
emitter.on('hello', vipListener)
console.log('hello in serial started')
emitter.emitSerial('hello', function (err) {
console.log('hello in serial finished')
console.log('hello in parallel started')
emitter.emitParallel('hello', function (err) {
console.log('hello in parallel finished')
})
})
Install
- Install:
npm install --save event-emitter-grouped
- Import:
import * as pkg from ('event-emitter-grouped')
- Require:
const pkg = require('event-emitter-grouped')
<script type="module">
import * as pkg from '//dev.jspm.io/event-emitter-grouped@6.4.0'
</script>
This package is published with the following editions:
event-emitter-grouped
aliases event-emitter-grouped/index.cjs
which uses the Editions Autoloader to automatically select the correct edition for the consumer's environmentevent-emitter-grouped/source/index.js
is ESNext source code for Node.js 6 || 8 || 10 || 12 || 14 || 16 || 18 || 20 || 21 with Require for modulesevent-emitter-grouped/edition-browsers/index.js
is ESNext compiled for web browsers with Require for modulesevent-emitter-grouped/edition-node-4/index.js
is ESNext compiled for Node.js 4 with Require for modules
This project provides its type information via inline JSDoc Comments. To make use of this in TypeScript, set your maxNodeModuleJsDepth
compiler option to 5
or thereabouts. You can accomlish this via your tsconfig.json
file like so:
{
"compilerOptions": {
"maxNodeModuleJsDepth": 5
}
}
History
Discover the release history by heading on over to the HISTORY.md
file.
Contribute
Discover how you can contribute by heading on over to the CONTRIBUTING.md
file.
Backers
Maintainers
These amazing people are maintaining this project:
No sponsors yet! Will you be the first?
Contributors
These amazing people have contributed code to this project:
Discover how you can contribute by heading on over to the CONTRIBUTING.md
file.
License
Unless stated otherwise all works are:
and licensed under: