26 lines
1013 B
Markdown
26 lines
1013 B
Markdown
# eventemitter-asyncresource - AsyncResource integration for EventEmitter
|
||
|
||
Integrates [`EventEmitter`][] with [`AsyncResource`][] for `EventEmitter`s that
|
||
require manual async tracking.
|
||
|
||
```js
|
||
const { EventEmitterAsyncResource } = require('eventemitter-asyncresource');
|
||
|
||
// Async tracking tooling will identify this as 'Q'.
|
||
const ee = new EventEmitterAsyncResource({ name: 'Q' });
|
||
|
||
// 'foo' listeners will run in this EventEmitter’s async context.P
|
||
ee.emit('foo');
|
||
```
|
||
|
||
The `EventEmitterAsyncResource` class has the same methods and takes the same
|
||
options as `EventEmitter` and `AsyncResource` themselves.
|
||
|
||
It provides an `.asyncResource` property that allows accessing the async
|
||
resource in question, which in turn provides the original `EventEmitter` via
|
||
`.eventEmitter`, i.e. in the above example
|
||
`ee.asyncResource.eventEmitter === ee`.
|
||
|
||
[`EventEmitter`]: https://nodejs.org/api/events.html#events_class_eventemitter
|
||
[`AsyncResource`]: https://nodejs.org/api/async_hooks.html#async_hooks_class_asyncresource
|