Measure the time a promise takes to resolve
created at July 11, 2016, 11:45 p.m.
Settle promises concurrently and get their fulfillment value or rejection reason with optional limited concurrency
created at Oct. 21, 2016, 6:18 a.m.
Make unhandled promise rejections fail hard right away instead of the default silent fail
created at Aug. 27, 2016, 8:02 p.m.
Tap into a promise chain without affecting its value or state
created at Oct. 21, 2016, 7:01 a.m.
NOTE: You probably want native promises now
created at Nov. 6, 2014, 1:15 a.m.
Debounce promise-returning & async functions
created at Oct. 21, 2016, 8:01 a.m.
Timeout a promise after a specified amount of time
created at Oct. 21, 2016, 6:42 a.m.
Create a lazy promise that defers execution until it's awaited or when .then() or .catch() is called
created at Nov. 7, 2016, 9:05 a.m.
Sophisticated and functionally-minded async with advanced features: coroutines, promises, ES2015 iterables, fantasy-land
created at July 15, 2015, 1:15 p.m.
Make unhandled promise rejections fail loudly instead of the default silent fail
created at Oct. 3, 2015, 3:54 p.m.
Test whether an object looks like a promises-a+ promise
created at Dec. 23, 2012, 4:01 p.m.
Run promise-returning & async functions concurrently with optional limited concurrency
created at Oct. 21, 2016, 3:49 a.m.
Throttle promise-returning & async functions
created at Oct. 21, 2016, 8:10 a.m.
Delay a promise a specified amount of time
created at Nov. 12, 2015, 6:31 p.m.
A polyfill for native ES6 Promises as close as possible (no extensions) to the strict spec definitions.
created at May 5, 2014, 2:56 a.m.
A Workshopper module that teaches you to use promises in javascript
created at Dec. 3, 2013, 7:18 p.m.