Tiny message bus.
var nanopubsub =var bus =busbusbus
How do I handle errors?
Emit an event like you'd do with everything else. There is no need for global error handling because it can be implemented by consumers.
How do I publish from a subscriber?
You can call
bus.pub from inside
bus.sub - wait with calling
bus.pub call has resolved to guarantee the right ordering of events.
How do I namespace events?
This is done through convention. We recommend namespacing events using the
bus = nanopubsub()
Create a new message bus.
bus.sub(eventName, callback(data, done))
Create a new subscriber for an event.
done() should be called when the
subscriber is done.
bus.pub(eventName, [data], callback)
Emit a new event with optional data attacked. The callback is called once all handlers are done.
Listen to global events on the message bus. There are a few events available:
bus.on('flush'): called when all
bus.pubcalls have resolved.
bus.on('pub'): called every time a
bus.pubcall is fired.
dataare passed to the callback.