call-me-maybe Build Status

Let your JS API users either give you a callback or receive a promise.


var maybe = require("call-me-maybe")

module.exports = function asyncFunc (cb) {
  return maybe(cb, new Promise(function(resolve, reject) {
    // ...


maybe(cb, promise)

If the callback cb is truthy, returns undefined and will call cb when promise is settled. The parameters passed to cb are standard error-first:

If cb is falsey, then promise is retuned.