A teeny-tiny promise library

q, promise, promises, promises-a, promises-aplus, deferred, future, async, flow control, browser, node
bower install ayepromise


Promises/A+ logo

Aye, promise!

ayepromise is a teeny-tiny promise library. It promises to pass the Promises/A+ 1.1 Compliance Test Suite.

NPM version

Supports modern browsers (i.e. IE > 8).

Why yet another promise library?

ayepromise wants to be as small as possible (~180 LOC, ~1200 bytes minified), staying compatible to Q while fully implementing the spec. It's licensed under WTFPL and/or BSD.

ayepromise tries to be fully compatible with kriskowal's Q in such a way that you can always replace ayepromise with Q. (There's a catch: ayepromise tries to strictly follow Promises/A+ 1.1 and will differ where Q does not.) It will not however try to implement anything close to the full feature set. Check test/CompatibilitySpecRunner.html to see ayepromise's test suite executed against Q.

Build Status

Run the test suite

For the browser, first install dependencies via npm install and bower install and then open test/SpecRunner.html.

For NodeJS install dependencies via npm install and run npm test. This includes the Promise/A+ Compliance Test Suite.