A lightweight library that provides tools for organizing asynchronous code
npm install es6-promiseThis is a polyfill of the ES6 Promise. The implementation is a subset of rsvp.js extracted by @jakearchibald, if you're wanting extra features and more debugging options, check out the full library.
For API details and how to use promises, see the JavaScript Promises HTML5Rocks article.
* es6-promise 27.86 KB (7.33 KB gzipped)
* es6-promise-auto 27.78 KB (7.3 KB gzipped) - Automatically provides/replaces Promise if missing or broken.
* es6-promise-min 6.17 KB (2.4 KB gzipped)
* es6-promise-auto-min 6.19 KB (2.4 KB gzipped) - Minified version of es6-promise-auto above.
To use via a CDN include this in your html:
``html
`
To install:
`sh`
yarn add es6-promise
or
`sh`
npm install es6-promise
To use:
`js`
var Promise = require('es6-promise').Promise;
catch and finally are reserved keywords in IE<9, meaningpromise.catch(func) or promise.finally(func) throw a syntax error. To work
around this, you can use a string to access the property as shown in the
following example.
However most minifiers will automatically fix this for you, making the
resulting code safe for old browsers and production:
`js`
promise'catch' {
// ...
});
`js`
promise'finally' {
// ...
});
To polyfill the global environment (either in Node or in the browser via CommonJS) use the following code snippet:
`js`
require('es6-promise').polyfill();
Alternatively
`js`
require('es6-promise/auto');
Notice that we don't assign the result of polyfill() to any variable. The polyfill() method will patch the global environment (in this case to the Promise name) when called.
You will need to have PhantomJS installed globally in order to run the tests.
npm install -g phantomjs
* npm run build to buildnpm test
* to run testsnpm start
* to run a build watcher, and webserver to testnpm run test:server` for a testem test runner and watching builder
*