2.0.4 • Published 7 years ago

promisify-call v2.0.4

Weekly downloads
289,416
License
MIT
Repository
github
Last release
7 years ago

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

ParamTypeDescription
ctxObjectcontext / this
fnfunctionThe function to call
argsargumentsArguments

License

Copyright 2015 Bojan D.

Licensed under the MIT License.