promisify-call

2.0.4 • Public • Published

promisify-call

npm version build status

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.

Package Sidebar

Install

npm i promisify-call

Weekly Downloads

119,473

Version

2.0.4

License

MIT

Last publish

Collaborators

  • bojand