Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

callbackmanager

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

callbackmanager

Simple Asynchronous Callback Manager

  • 1.0.2
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

callbackmanager

###Simple Asynchronous Callback Manager

####Include : Import a callback manager.

var CallbackManager = require("callbackmanager");

####Instantiate : Create an instance with the final complete callback

//NOTE: instantiating is also considered an asynchronous callback. Must call cm.done(); after registering all other callbacks.
//The first argument is "completeCallback" function. It is executed once all registered callbacks are executed. The first parameter passed to this function is the error parameter passed to cm.done(err) function.
//The last argument is optional "continueOnError" flag. Set this true if you want all registered callbacks to be executed before calling the complete callback even if error occurs. Note that the error parameter passed to the complete callback is going to be the last error occured.

var cm = new CallbackManager(function(err) {
	if(err)
		console.error(err);
	
	console.log("all done!")
});	

####Register - Simple

setTimeout(cm.register(), 100);

####Register - Complex : Wait for a callback then notify the manager that it is done

cm.wait();
setTimeout(function() {
	//do another async work
	setTimeout(function() {
		cm.done();
	}, 100);
}, 100);

####Handle error : Pass the error from an async callback to the complete callback cm.wait(); setTimeout(function() { cm.done(throw new Error("uh oh!")); }, 200);

####Abort : Abort the manager process so that the final callback doesn't get executed

cm.abort();

####Finalize : Notify manager that the async callback registeration is done

cm.done();

Keywords

FAQs

Package last updated on 19 Aug 2014

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