es6-promise
    Overview
    Documentation
    Insights
    Code
    Contributors
    Dependencies
    Alternatives

es6-promise

A lightweight library that provides tools for organizing asynchronous code

4.2.8  •  Published 6 months ago  •  by Stefan Penner  •  MIT License

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/es6-promise@4/dist/es6-promise.js"></script>
<script src="https://cdn.jsdelivr.net/npm/es6-promise@4/dist/es6-promise.auto.js"></script> 

<!-- Minified version of `es6-promise-auto` below. -->
<script src="https://cdn.jsdelivr.net/npm/es6-promise@4/dist/es6-promise.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/es6-promise@4/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
How do you feel about the name Devstore for this site?

Popularity

Weekly Downloads
8.3M
Stars
6.8K

Maintenance

Development

Last ver 6 months ago
Created 6 years ago
Last commit 6 months ago
5 days between commits

Technology

Node version: 8.16.0
315.4K unpacked

Compliance

MIT License
OSI Approved
0 vulnerabilities

Contributors

87 contributors
Stefan Penner
Maintainer, 380 commits, 120 merges, 36 PRs
Works at LinkedIn
Jake Archibald
Maintainer, 44 commits, 5 merges
Yehuda Katz
40 commits
Works at Tilde, Inc.
James A. Rosen
35 commits
greenkeeperio-bot
31 commits, 45 PRs
Works at greenkeeperio
Domenic Denicola
11 commits
Works at Google

Tags

futures
polyfill
promise
promises
Ready for the next level?
Join Devstore's founding team to help us build the ultimate open-source app store, work with the latest technologies, and enjoy great culture, impact and autonomy
© 2019 Devstore, Inc.
Devstore helps developers find and use open-source packages, so they can focus on building amazing things