If you want to use ES6 promises using the
Promise object in a library or module, then there's a new implementation that you might want to check out. Thenable (GitHub: rse / thenable, License: MIT) by Ralf S. Engelschall is a
Promise implementation based on Promises/A+.
This is a strictly-compliant Promises/A+ 1.1.1 implementation in just 2KB of (compressed) code, which passes the official Promises/A+ Test-Suite and includes back-references to the relevant specification statements. It just provides a minimum Promise functionality, because it is intended to be directly embedded into ECMAScript 5 based libraries and frameworks, in order to dependency-free leverage from Promises and be able to return "thenable" Promise objects to applications.
Instead, please download the raw thenable.min.js and include it verbatim into your library/framework. The usual approach for this is to temporarily emulate a CommonJS environment within your library/framework to get its Thenable object.
It has a
noConflict option for browsers, and supports AMD, CommonJS, and browsers.
If you want to use Promises/A+ in your applications, Ralf recommends Bluebird, and there's a large list of other implementations on the promises spec wiki: promises-spec / implementations.md.