async-stream-emitter
An alternantive to EventEmitter using consumable streams.
Last updated 2 years ago by topcloudsystems .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install async-stream-emitter 
SYNC missed versions from official npm registry.

async-stream-emitter

EventEmitter using ConsumableStream.

Main methods:

  • emit(eventName, data)
  • listener(eventName)
  • closeListener(eventName)
  • closeAllListeners()
  • killListener(eventName)
  • killAllListeners()
  • getListenerBackpressure(eventName)
  • getAllListenersBackpressure()

Usage examples

let emitter = new AsyncStreamEmitter();

(async () => {
  await wait(10);
  emitter.emit('foo', 'hello');

  // This will cause all for-await-of loops for that event to exit.
  // Note that you can also use the 'break' statement inside
  // individual for-await-of loops.
  emitter.closeListener('foo');
})();

(async () => {
  for await (let data of emitter.listener('foo')) {
    // data is 'hello'
  }
  console.log('The listener was closed.');
})();

// Utility function.
function wait(duration) {
  return new Promise((resolve) => {
    setTimeout(() => {
      resolve();
    }, duration);
  });
}

Current Tags

  • 7.0.1                                ...           latest (2 years ago)

17 Versions

  • 7.0.1                                ...           2 years ago
  • 7.0.0                                ...           2 years ago
  • 6.0.1                                ...           3 years ago
  • 6.0.0                                ...           3 years ago
  • 5.0.0                                ...           3 years ago
  • 4.1.0                                ...           4 years ago
  • 4.0.0                                ...           6 years ago
  • 3.0.3                                ...           7 years ago
  • 3.0.2                                ...           7 years ago
  • 3.0.1                                ...           7 years ago
  • 3.0.0                                ...           7 years ago
  • 2.1.0                                ...           7 years ago
  • 2.0.0                                ...           7 years ago
  • 1.1.0                                ...           7 years ago
  • 1.0.2                                ...           7 years ago
  • 1.0.1                                ...           7 years ago
  • 1.0.0                                ...           7 years ago
Maintainers (1)
Downloads
Today 0
This Week 0
This Month 0
Last Day 0
Last Week 0
Last Month 2
Dependencies (1)
Dev Dependencies (5)

Copyright 2013 - present © cnpmjs.org | Home |