User Experience on mobile might not be great yet, but I'm working on it.

Your first time on this page? Allow me to give some explanations.

Awesome Promises

A curated list of useful resources for JavaScript Promises

Here you can see meta information about this topic like the time we last updated this page, the original creator of the awesome list and a link to the original GitHub repository.

Last Update: Jan. 17, 2022, 3:05 p.m.

Thank you wbinnssmith & contributors
View Topic on GitHub:
wbinnssmith/awesome-promises

Search for resources by name or description.
Simply type in what you are looking for and the results will be filtered on the fly.

Further filter the resources on this page by type (repository/other resource), number of stars on GitHub and time of last commit in months.

For beginners

Deep Dive

References

Strict Implementations

Itty bitty little widdle twinkie pinkie ES2015 Promise implementation

139
20
5y 11m
MIT

A polyfill for native ES6 Promises as close as possible (no extensions) to the strict spec definitions.

716
79
3y 7m
n/a

A polyfill for ES6-style Promises

7.24K
622
2y 7m
MIT

A basic but performant promise implementation.

746
68
3y 10m
MIT

Implementations with extras

Bluebird is a full featured promise library with unmatched performance.

19.91K
2.41K
4m
MIT

Sophisticated and functionally-minded async with advanced features: coroutines, promises, ES2015 iterables, fantasy-land

268
20
3y 8m
MIT

A lightweight library that provides tools for organizing asynchronous code

3.63K
273
12m
MIT

A promise library for JavaScript

14.96K
1.24K
4m
MIT

Bare bones Promises/A+ implementation

2.42K
303
1y 10m
MIT

A solid, fast Promises/A+ and when() implementation, plus other async goodies.

3.44K
408
4y 8m
n/a

Fallbacks

Promise ponyfill with pinkie

121
17
5y 110d
MIT

NOTE: You probably want native promises now

175
18
5y 5m
MIT

sindresorhus's many Promise utilities (

Delay a promise a specified amount of time

470
39
11m
MIT

Promisify a callback-style function

1.4K
86
1y 16d
MIT

Make unhandled promise rejections fail loudly instead of the default silent fail

284
26
11m
MIT

Make unhandled promise rejections fail hard right away instead of the default silent fail

100
8
1y 16d
MIT

Promise queue with concurrency control

1.88K
136
4m
MIT

Break out of a promise chain

17
5
9m
MIT

Create a lazy promise that defers execution until it's awaited or when .then() or .catch() is called

231
9
13d
MIT

Create a deferred promise

47
9
9m
MIT

Conditional promise chains

59
5
9m
MIT

Tap into a promise chain without affecting its value or state

130
9
9m
MIT

Map over promises concurrently

815
47
76d
MIT

Run promise-returning & async functions concurrently with optional limited concurrency

183
10
7m
MIT

Run multiple promise-returning & async functions with limited concurrency

836
58
5m
MIT

Run promise-returning & async functions a specific number of times concurrently

34
6
105d
MIT

Conditional promise catch handler

37
5
9m
MIT

Measure the time a promise takes to resolve

62
5
9m
MIT

Log the value/error of a promise

25
4
9m
MIT

Filter promises concurrently

58
5
5m
MIT

Settle promises concurrently and get their fulfillment value or rejection reason

75
8
5m
MIT

Memoize promise-returning & async functions

252
26
93d
MIT

While a condition returns true, calls a function repeatedly, and then resolves the promise

41
7
9m
MIT

Throttle promise-returning & async functions

257
17
105d
MIT

Debounce promise-returning & async functions

135
22
9m
MIT

Retry a promise-returning or async function

473
41
74d
MIT

Wait for a condition to be true

95
14
4m
MIT

Timeout a promise after a specified amount of time

180
16
86d
MIT

A better Promise.race()

35
4
9m
MIT

Start a promise chain

41
9
105d
MIT

Promise#finally() ponyfill - Invoked when the promise is settled regardless of outcome

46
6
9m
MIT

Wait for any promise to be fulfilled

51
6
7m
MIT

Wait for a specified number of promises to be fulfilled

31
7
7m
MIT

Compose promise-returning & async functions into a reusable pipeline

102
18
9m
MIT

Iterate over promises serially

43
6
9m
MIT

Map over promises serially

37
3
9m
MIT

Reduce a list of values using promises into a promise for a value

59
6
9m
MIT

Like Promise.all() but for Map and Object

145
22
7m
MIT

Others

Wraps a function and returns one that always returns a promise

2
0
6y 4m
n/a

Test whether an object looks like a promises-a+ promise

270
33
1y 8m
MIT

Convert node.js Streams into Promises

14
0
4y 63d
n/a

Beautiful concurrency for JavaScript

1.64K
85
8y 52d
n/a

The ultimate generator based flow-control goodness for nodejs (supports thunks, promises, etc)

11.64K
813
5y 93d
MIT

Calls a function repeatedly until a condition returns true and then resolves the promise

1
0
6y 55d
ISC

Calls a function repeatedly while a condition returns true and then resolves the promise

2
1
5y 8m
ISC

promise semaphore

29
8
5y 4m
n/a

Call a Node-style callback with the resolution value or rejection cause of a Promise without the common pitfalls.

1
0
14d
MIT