cb-q
Use cb-q to handle callbacks as a deferred object when a callback exists or create a deferred object when a callback does not exist.
install
npm install cb-q
Motivation
Promises is a great pattern but many libraries use Error-First Callbacks. Since the promise pattern returns a deferred object and asyncronous functions require a callback and usually return undefined, why can't we do both.
Usage
Create an async function than handel both callbacks and promises.
var cbQ = ;var deferred = cbQdefercb;//do some async stuffprocessreturn deferredpromise;
Creating a callback that I can pass into a method expecting an error-first callback and expose a promise.
var cbQ = ;var callback = cbQ;callbackpromise;fs;
If you already have a promise and simply want to execute a callback when the promise is resolve
var cbQ = ;var deferred = qdefer;var promise = deferredpromise;deferred;var {iferrthrowerr;console;}cbQ;fs;
Test
npm test