🌜
🌞
es6-promise

es6-promise

v4.2.8

A lightweight library that provides tools for organizing asynchronous code

npm install es6-promise

README

ES6-Promise (subset of rsvp.js) Build Status

This 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.

Downloads

CDN

To use via a CDN include this in your html:

<!-- Automatically provides/replaces `Promise` if missing or broken. -->
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/es6-promise.js"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/es6-promise.auto.js"></script> 

<!-- Minified version of `es6-promise-auto` below. -->
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/es6-promise.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/es6-promise.auto.min.js"></script> 

Node.js

To install:

yarn add es6-promise

or

npm install es6-promise

To use:

var Promise = require('es6-promise').Promise;

Usage in IE<9

catch and finally are reserved keywords in IE<9, meaning promise.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:

promise['catch'](function(err) {
  // ...
});
promise['finally'](function() {
  // ...
});

Auto-polyfill

To polyfill the global environment (either in Node or in the browser via CommonJS) use the following code snippet:

require('es6-promise').polyfill();

Alternatively

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.

Building & Testing

You will need to have PhantomJS installed globally in order to run the tests.

npm install -g phantomjs

  • npm run build to build
  • npm test to run tests
  • npm start to run a build watcher, and webserver to test
  • npm run test:server for a testem test runner and watching builder

General

License
MIT
Typescript Types
Tree-shakeable
No

Popularity

GitHub Stargazers
7,293
Community Interest
8,119
Number of Forks
632

Maintenance

Commits
10/219/2201
Last Commit
Jun 19, 2019
Open Issues
22
Closed Issues
154
Open Pull Requests
3
Closed Pull Requests
57

Versions

Versions Released
10/219/2201
Latest Version Released
Jun 6, 2019
Current Tags
latest4.2.8

Contributors

stefanpenner
stefanpenner
Commits: 201
jakearchibald
jakearchibald
Commits: 37
greenkeeperio-bot
greenkeeperio-bot
Commits: 31
wycats
wycats
Commits: 24
domenic
domenic
Commits: 11
twokul
twokul
Commits: 10
fivetanley
fivetanley
Commits: 9
mikepmunroe
mikepmunroe
Commits: 8
vicb
vicb
Commits: 8
teddyzeenny
teddyzeenny
Commits: 7
bekzod
bekzod
Commits: 5
azizhk
azizhk
Commits: 4
rwaldron
rwaldron
Commits: 3
rwjblue
rwjblue
Commits: 3
wKovacs64
wKovacs64
Commits: 3