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
npm install promisify-call
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
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 |
Copyright 2015 Bojan D.
Licensed under the MIT License.