0.1.0 • Published 8 years ago

sinaps-ee v0.1.0

Weekly downloads
3
License
MIT
Repository
github
Last release
8 years ago

Sinaps EventEmitter

Sinaps EE is a extension of EventEmitter2 to allow emit() function to be delayed or cancelled by listeners.

Build Status

Install

npm install --save sinaps-ee

Usage

var EventEmitter = require('sinaps-ee');

// Create new event emitter
var emitter = new EventEmitter();

// Create a listener that delay emitter for 1 second
emitter.on('save', (data) => {
	return new Promise((resolve, reject) => {
		// Delay for 1 second
		setTimeout(() => {
			// Promise is resolved
			resolve();
		}, 1000)
	})
});

// Emit a save event and wait for listener to complete or cancel event
// emit() now return a promise for all listener for save event
emitter.emit('save')
	.then(result => {
		// All listeners for the event have completed
		// Got delayed for 1 second
	})
	.catch(err => {
		// One of the listener cancelled the event
	});