event-to-promise
Create a promise waiting for an event
Installation
Browserify/Webpack
Node &Installation of the npm package:
> npm install --save event-to-promise
Then require the package:
var eventToPromise = ;
Browser
You can directly use the build provided at unpkg.com:
Example
{ var server = server // The server will be returned once it has started listening. // // If an error happened, it will be forwarded instead. return } // Using plain promise.
Event better using ES2016 asynchronous functions:
{ var server = server await return server} { try const server = await ; console; catch error console; }
API
This library requires promises support, for Node versions prior to 0.12 see this page to enable them.
eventToPromise(emitter, event, [options]) => Promise
Wait for one event. The first parameter of the emitted event is used to resolve/reject the promise.
The returned promise has a cancel()
method which can be used to
remove the event listeners. Note that the promise will never settled
if canceled.
const promise = promise
emitter
Required
Type: Object
The event emitter you want to watch an event on.
event
Required
Type: string
The name of the event you want to watch.
options
array
Type: boolean
Default: false
If true, all parameters of the emitted events are put in an array which is used to resolve/reject the promise.
error
Type: string
Default: "error"
The name of the event which rejects the promise.
ignoreErrors
Type: boolean
Default: false
Whether the error event should be ignored and not reject the promise.
eventToPromise.multi(emitter, successEvents, errorEvents) => Promise
Wait for one of multiple events. The array of all the parameters of the emitted event is used to resolve/reject the promise.
The array also has an
event
property indicating which event has been emitted.
The returned promise has a cancel()
method which can be used to
remove the event listeners. Note that the promise will never settled
if canceled.
const promise = promise
emitter
Required
Type: Object
The event emitter you want to watch an event on.
successEvents
Required
Type: Array<string>
The names of the events which resolve the promise.
errorEvents
Type: Array<string>
Default: [ 'error' ]
The names of the events which reject the promise.
Contributing
Contributions are very welcome, either on the documentation or on the code.
You may:
- report any issue you've encountered;
- fork and create a pull request.
License
ISC © Julien Fontanet