Small Promise that realize the Promise standard
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
doc
src
test
.editorconfig
.eslintrc.js
.gitignore
.travis.yml
_readme.md
jquery.js
package.json
readme.md
test.js
webpack.config.js

readme.md

min-promise

Build status NPM version Downloads Dependency Status

Small and Clean Promise 100% compliant with Promises/A+ Spec

Installation

npm i min-promise

Support Both ES2015 Promise and Promises/A+

100% compliant with Promises/A+ Spec, and listed in implements

Check all tests in promises-aplus-tests

Feature

Support basic thenable in Promises/A+ Spec

Support ES2015 promise

  • new Promise() in ES2015
  • Promise.all() in ES2015
  • Promise.race() in ES2015

Support .caught like .catch for ES3 support, inspired by bluebird

Deferred

jQuery style or CommonJS Promises/A Deferred object

Promise is subset of Deferred

var $ = require('min-promise/jquery') // export `Deferred` and `when`

// $.Deferred
var dfd = $.Deferred()
dfd.done(function(v1, v2) {
  console.log(v1) // 1
  console.log(v2) // 2
})
Promise.delay(50).then(function() {
  dfd.resolve(1, 2)
})

// $.when
var d1 = $.Deferred()
var d2 = $.Deferred()
var d3 = $.Deferred()
$.when(d1, d2, d3).done(function(v1, v2, v3) {
  console.log([v1, v2, v3]) // [undefined, 'abc', 123]
})
d1.resolve()
d2.resolve('abc')
d3.resolve(123)

Tool function

setTimeout in promise style

  • Promise.delay(ms)
  • .delay(ms)

License

License