Notify many listeners via pull-streams.
you could use when you might otherwise use an event emitter. Why not just use an event emitter? EventEmitters have a weird security contract: anyone who can listen can also emit, and they can emit or listen to any events!
Instead, events should travel down a single channel, and the ability to emit an event should be separated from the ability to listen.
var Notify = require('pull-notify') var notify = Notify() //create a pull stream that listens on events. //it will eventually get all events. pull(notify.listen(), pull.drain(console.log)) notify('hello') //emit an event. notify.end() //tell all listeners it's over.
listers can abort (using the normal pull-stream abort), and that will remove them from the list.