Skip to content

Instantly share code, notes, and snippets.

@nzakas
Created October 16, 2013 21:48
Show Gist options
  • Save nzakas/7015508 to your computer and use it in GitHub Desktop.
Save nzakas/7015508 to your computer and use it in GitHub Desktop.
Async event emitter

What I'm considering for an async event emitter is a situation like this:

  1. I want to be able to fire events before something happens and after something happens.
  2. Each of the event handlers may do an async process.
  3. I need to know after all of the "before" event handlers have completed before doing the actual action that I'm saying will happen.

A synchronous example would look like:

emitter.emit('beforewrite');
doWrite();
emitter.emit('afterwrite');

The challenge is that the event handlers may all be doing async operations, so I need to wait until all of them have completed before doing the write operation.

Thoughts?

@shesek
Copy link

shesek commented Oct 29, 2013

I wrote a library a while ago to do exactly this: https://github.com/shesek/emit-async

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment