Socket
Socket
Sign inDemoInstall

listen

Package Overview
Dependencies
Maintainers
1
Versions
11
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

listen

Wait for the results of multiple callbacks


Version published
Weekly downloads
2.8K
increased by19.91%
Maintainers
1
Weekly downloads
 
Created
Source

listen.js

Wait for the results of multiple callbacks.

Build Status

Install

npm install listen

Usage

var listen = require('listen');

var listener = listen();

var callbackA = listener();
var callbackB = listener();

/*
 * Do async stuff with callbacks.
 *
 * Callbacks follow the Node.js convention. They expect an error or null as
 * the first argument and an optional value as the second:
 *
 * Fail: callback(new Error('ouch!'));
 * Return: callback(null, 'some return value');
 */

listener.then(function (err, values) {
  /*
   * err    - 1) null if no callback err'd
   *          2) the error of the callback that err'd
   *          3) an error with name ErrorList wrapping multiple errors
   *
   * values - The non-undefined return values from all callbacks in order of
   *          callback creation
   */
});

API

listen([values])

Creates and returns a new listener. The values array with initial values is optional.

listener([timeout])

Creates a new callback associated with the listener. If the optional timeout is given, the listener errs with a TimeoutError if the callback was not invoked. Throws if called after then.

listener.then(func)

Invokes the given function once all callbacks where invoked. If none of the callbacks had errors, the first argument is null, otherwise it's an Error. The second argument is the values array in order of callback creation. Can only be called once.

listener.push(value)

Pushes a value to the internal values array. Throws if called after then.

listener.err(error)

Adds an error to the internal error list. Throws if called after then.

Run tests

make

Hacking

If you'd like to hack listen.js here is how to get started:

  • npm install will setup everything you need.
  • make lints the code with JSLint and runs all unit tests.
  • Use can also make lint or make test individually.

Running the test cases in a browser instead of Node requires nomo.js.

To build a browser package containing the merged / minified scripts run make package.

FAQs

Package last updated on 04 Nov 2012

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc