Nana Plays Minesweeper

    await-event

    2.1.0 • Public • Published

    Await Event

    A really stupid utility I use frequently for event emitters. Allows you to yield an event and return the results. I use this a lot of locking.

    Note: you probably shouldn't use this for the error event.

    Example

    var PassThrough = require('stream').PassThrough
     
    var stream = new PassThrough()
    // you attach it directly on an event emitter
    stream.await = require('await-event')
     
    co(function* () {
      var chunk = yield stream.await('data')
      var chunk = yield stream.await('data')
      var chunk = yield stream.await('data')
    }).catch(noop)
     
    stream.write('some chunk')

    You can use awaitEvent without attach on an event emitter:

    var EventEmitter = require('event')
     
    var emitter = new EventEmitter()
    co(function*() {
      yield awaitEvent(emitter, 'ready')
    }).catch(noop)

    When use this for error event, it will reject once error event emitted:

    var EventEmitter = require('event')
     
    var emitter = new EventEmitter()
    co(function*() {
      // it will throw when `error` event emitted
      yield awaitEvent(emitter, 'error')
    }).catch(err => console.error(err.stack))

    Install

    npm i await-event

    DownloadsWeekly Downloads

    112,644

    Version

    2.1.0

    License

    MIT

    Last publish

    Collaborators

    • dead_horse
    • dead-horse
    • fengmk2
    • coderhaoxin
    • jongleberry