Asynchronously emit event an event based on the arguments length.
npm install asyncemit
The asyncemit allows you to emit an event to an EventEmitter3 asynchronously.
The module is released in the public npm registry and can be installed using:
```
npm install --save asyncemit
To make this pattern work there are a couple of preconditions that need to be
satisfied:
1. The method should be added on either a class that inherits from the
EventEmitter or on a new EventEmitter instance.
2. The number of arguments expected by a listener function should match the
number of arguments passed to the asyncemit method excluding the event
name.
See the following example:
`js
var EventEmitter = require('eventemitter3')
, asyncemit = require('asyncemit');
var ee = new EventEmitter();
ee.asyncemit = asyncemit;
//
// The next foo listeners will not be executed until next is called.
//
ee.on('foo', function (arg, next) {
// Do things with arg?
next();
});
//
// Still executed, but synchronously.
//
ee.on('foo', function (arg) {
});
ee.asyncemit('foo', 'bar', function (err) {
//
// The error argument will be set if one of the async listeners called the
// next callback with an error argument.``
//
});