make-promise

A function that creates a Promises/A+ promise.

make-promise

A function which creates a Promises/A+ promise.

This module passes version 1.3.1 of the Promises/A+ Compliance Test Suite.

make-promise exports a single function, which takes a function as it sole argument. After you have called makePromise, this function is called immediately afterwards with a Node-style callback as its sole argument.

  • Calling the callback with a truthy error argument will cause the promise to be rejected with the value of the error argument.
  • Calling the callback with a falsy error argument will cause the promise to be fulfilled with the value of the result argument. If there is no result argument, the promise will be fulfilled with .
var skyIsFalling = false
var makePromise = require("make-promise")
var promise = makePromise(function(cb) {
  setImmediate(function() {
    if skyIsfalling
      cb(new Error("Sky is falling."))
    else
      cb()
  })
})
promise.then(
  function(){ 
    // phew!  
  }, 
  function(err) { 
    console.error err.toString() + " Better take cover."
  })

This implementation is based on the code for the "promise" module by Forbes Lindsay. See credits.txt.

make-promise is released under the MIT License.
Copyright (c) 2013 Meryn Stol