A lightweight polyfill for the ES6 Promise specification, extracted from rsvp.js.
ES6-Promise is a polyfill library that provides an implementation of the ES6 Promise API for JavaScript environments lacking native support. It enables developers to use modern promise-based asynchronous patterns in older browsers or Node.js versions. The library is a lightweight subset of rsvp.js, designed for minimal size and maximum compatibility.
JavaScript developers working on projects that need to support legacy browsers or environments without native Promise support, such as IE or older Node.js versions.
Developers choose ES6-Promise for its strict adherence to the ES6 specification, small footprint, and automatic polyfilling capability, making it a reliable drop-in solution for adding Promise support without heavy dependencies.
A polyfill for ES6-style Promises
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Implements the official ECMAScript 2015 Promise specification, ensuring predictable and standards-compliant asynchronous behavior across environments.
Optimized as a subset of rsvp.js, with minified versions as small as 2.4 KB gzipped, reducing impact on application load times.
The auto-polyfill version seamlessly replaces missing or broken Promise implementations globally, simplifying integration without manual checks.
Includes workarounds for IE<9 issues with reserved keywords like 'catch' and 'finally', enabling Promises in ancient browsers with minimal code changes.
As a subset of rsvp.js, it lacks advanced promise utilities like cancellation, progress events, or extra debugging options, which might be needed in complex applications.
Requires explicit polyfill calls in Node.js (e.g., require('es6-promise').polyfill()), unlike the browser auto-polyfill, adding setup complexity.
Building and testing relies on PhantomJS, which is no longer maintained, potentially causing issues for contributors or custom development workflows.