promisify-call
v2.0.4
Published
Promisify a function call so users can call a function with a callback or get a promise
Downloads
549,315
Readme
promisify-call
Promisify a function call so users can call a function with a callback or get a promise.
- 2.0 works only with native
Promise
so requires Node >= 4.0. - 1.0 uses Bluebird and should work with older Node.js
Installation
npm install promisify-call
Usage
function _uppercase(param, fn) {
setTimeout(() => {
return fn(null, param.toUpperCase());
}, 50);
}
function uppercase(param, fn) {
return promisifyCall(this, _uppercase, ...arguments);
}
// now we can call it using callback-style
uppercase('foo', (err, res) => {
console.log(res); // FOO
});
// OR promise style
const res = await uppercase('foo');
console.log(res); // FOO
API Reference
promisifyCall(ctx, fn, args) ⇒ undefined | * | Promise
Promisifies the call to fn if appropriate given the arguments. Calls the function fn either using callback style if last argument is a function. If last argument is not a function, fn is called returning a promise. This lets you create API that can be called in either fashions.
Kind: global function
Returns: undefined | * | Promise - Promise if promisified
| Param | Type | Description | | --- | --- | --- | | ctx | Object | context / this | | fn | function | The function to call | | args | arguments | Arguments |
License
Copyright 2015 Bojan D.
Licensed under the MIT License.