Package Exports
- nodeify
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (nodeify) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Nodeify
Convert promised code to use node style callbacks. If no callback is provided it will just return the original promise.
Installation
Server:
$ npm install nodeify
Usage
Functional
Call nodeify
directly passing the promise
and an optional callback
as arguments. If a callback
is provided it will be called as callback(error, result)
. If callback
is not a function, promise
is returned.
var nodeify = require('nodeify');
function myAsyncMethod(arg, callback) {
return nodeify(myPromiseMethod(arg), callback);
}
Constructor / Method
The nodeify.Promise
constructor returns a promise with a .nodeify
method which behaves just like the functional version above except that the first argument is implicitly this
.
var Promise = require('nodeify').Promise;
function myAsyncMethod(arg, callback) {
return new Promise(function (resolver) {
//do async work
})
.nodeify(callback);
}
Extend
Extend(promise)
Takes a promise and extends it to support the .nodeify
method. It will still support the nodeify method after calls to .then
.
var Promise = require('promise');
var nodeify = require('nodeify');
function myAsyncMethod(arg, callback) {
return nodeify.extend(myPromiseMethod(arg))
.nodeify(callback);
}
Extend(PromiseConstructor)
Takes a PromiseConstructor and extends it to support the .nodeify
method.
var PromiseConstructor = require('promise-constructor-used-by-my-promise-method');
require('nodeify').extend(PromiseConstructor);
function myAsyncMethod(arg, callback) {
return myPromiseMethod(arg).nodeify(callback);
}
Extend()
Extends the default promise constructor (returned by calling require('promise')
) and extends it to support .nodeify
.
require('nodeify').extend();
function myAsyncMethod(arg, callback) {
//assuming myPromiseMethod uses `promise` as its promise library
return myPromiseMethod(arg).nodeify(callback);
}
Licence
MIT