0.0.1 • Published 8 years ago

promonce v0.0.1

Weekly downloads
2
License
ISC
Repository
github
Last release
8 years ago

Promonce

Promise based event wrapper

###Disclaimer

I should bern in the hell for this module!

##API

on(target, event, [error])

target - EventEmitter based object. event - A name of event which you want to listen on. error - A name of error event. on will be rejected when this event fired.

##Usage ###ES6 example

const on = require('promonce');
const net = require('net');

const connection = net.createConnection(5858);
on(connection, 'connect').then(console.log);

###ES6 example with coroutines

const co = require('co');
const on = require('promonce');
const get = require('net').get;

function yandex() {
  return co(function * () {
    const response = yield on(get('ya.ru'), 'response', 'error');
    const data = '';

    while (yield on(response, 'readable')) {
      const chunk = response.read();
      if (chunk) data += chunk;
      else break;
    }

    return data;
  })
}

###ES7 example

const on = require('promonce');
const get = require('net').get;

async function yandex() {
  const response = await on(get('ya.ru'), 'response', 'error');
  let data = '';

  while (await on(response, 'readable')) {
    const chunk = response.read();
    if (chunk) data += chunk;
    else break;
  }

  return data;
}