New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

multiple-callback-resolver

Package Overview
Dependencies
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

multiple-callback-resolver

Provides a function for generating callback functions and calls a provide callback once all callbacks have completed or an error after a configurable timeout.

latest
Source
npmnpm
Version
1.3.0
Version published
Maintainers
1
Created
Source

Multiple Callback Resolver

Build Status Coverage Status

This project contains a simple class that allows you to instantiate callback functions and then execute a final callback when all of the generated callbacks complete. This is especially useful in testing that a set of events is emitted in a test case or in fanning out a set of work and running some code after all of a set of callbacks has been invoked.

Let's say you have a class called Something and it emits 3 events when when the run() method is processed.

var Resolver = require('multiple-callback-resolver');
var resolver = new Resolver();
resolver.resolve(function(error, results) {
  // Get the data sent on the 'start' event.
  results[0];
  // Get the data sent on the 'in progress' event.
  results[1];
  // Get the data sent on the 'end' event.
  results[2];
  // Data sent to the callback provided to the `run()` method.
  results[3];
};
var something = new Something();
something.once('start', resolver.createCallback());
something.once('in progress', resolver.createCallback());
something.once('end', resolver.createCallback());
something.run(resolver.createCallback());

Optionally, you may set a timeout:

var Resolver = require('multiple-callback-resolver');
var callbacks = Resolver.resolve(2, {timeoutMilliSeconds: 10}, function(error, results) {
  console.log(error);
  // `[ 'Timeout exceeded waiting for callback to be called.' ]`
};
// Here we call one of the two callbacks created, but not both.
callbacks[0]();

FAQs

Package last updated on 25 Jan 2016

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