Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
awesome-promises
A curated list of useful resources for JavaScript Promises
https://github.com/wbinnssmith/awesome-promises
- Promise Cookbook - The why, what, and how. "A brief introduction [...] primarily aimed at frontend developers".
- Promises for Asynchronous Programming - Chapter from [Exploring ES6](http://exploringjs.com/)
- You Don't Know JS: Promises - Chapter from [You Don't Know JS: Async & Performance](https://github.com/getify/You-Dont-Know-JS/tree/master/async%20%26%20performance)
- JavaScript Promises: an Introduction - Basics of JavaScript's native promise implementation.
- JavaScript with Promises - from O'Reilly. Short and to-the-point. Uses native and bluebird.
- Promise it won't hurt - An interactive [nodeschool](https://nodeschool.io/) workshop
- ES6 Kata Promises - Promises Katas : [Basics](http://tddbin.com/#?kata=es6/language/promise/basics)
- ES6 Promises in Depth
- An Incremental Tutorial on Promises - An FAQ styled tutorial for beginners.
- Promise Fun - @sindresorhus's notes, patterns, and solutions to common Promise problems
- You're Missing the Point of Promises - Promises are much more than callback aggregation, and that jQuery's implementation (prior to 3.0) isn't enough.
- We have a problem with promises - "Many of us are using promises without really understanding them."
- Promise anti-patterns - Common misuses and how to avoid them.
- Promise anti-patterns (2) - Another set of promises anti-patterns
- Promise Ponderings, (Anti-)Patterns, and Apologies - Promise behaviour demonstrated and explained by common questions and their answers.
- Javascript Promises...In Wicked Detail - Recreate the promise implementation
- Writing Promise-Using Specifications - "This document gives guidance on how to write specifications that create, accept, or manipulate promises"
- Async functions - making promises friendly
- Promises/A+ specification
- caniuse promises
- Fates and States - Quick definitions of possible states.
- Promisees - Promise visualization playground for the adventurous.
- pinkie - Ponyfill. Node-oriented, but [browserifyable](https://github.com/substack/node-browserify). *Extremely* small implementation.
- native-promise-only - Polyfill. Browser and node-compatible.
- es6-promise - Opt-in polyfill. A strict-spec subset of rsvp.js.
- lie - Small, browserifyable with an opt-in polyfill.
- bluebird - Fully featured, extremely performant. Long stack traces & generator/coroutine support.
- creed - Hyper performant & full featured like Bluebird, but FP-oriented. Coroutines, generators, promises, ES2015 iterables, & fantasy-land spec.
- rsvp.js - Lightweight with a few extras. Compatible down to IE6!
- Q - One of the original implementations. Long stack traces and other goodies.
- then/promise - Small with `nodeify`, `denodify` and `done()` additions.
- when.js - Packed with control flow, functional, and utility methods.
- native-or-bluebird - Helps transition to completely native.
- pinkie-promise - Use native, or fall back to `pinkie`. Great for node library authors.
- any-promise - Loads the first available implementation. Safe for browserify.
- delay - Delay a promise a specified amount of time.
- pify - Promisify ("denodify") a callback-style function.
- loud-rejection - Make unhandled promise rejections fail loudly instead of the default silent fail.
- hard-rejection - Make unhandled promise rejections fail hard right away instead of the default silent fail
- p-queue - Promise queue with concurrency control
- p-break - Break out of a promise chain
- p-lazy - Create a lazy promise that defers execution until `.then()` or `.catch()` is called
- p-defer - Create a deferred promise
- p-if - Conditional promise chains
- p-tap - Tap into a promise chain without affecting its value or state
- p-map - Map over promises concurrently
- p-all - Run promise-returning & async functions concurrently with optional limited concurrency
- p-limit - Run multiple promise-returning & async functions with limited concurrency
- p-times - Run promise-returning & async functions a specific number of times concurrently
- p-catch-if - Conditional promise catch handler
- p-time - Measure the time a promise takes to resolve
- p-log - Log the value/error of a promise
- p-filter - Filter promises concurrently
- p-settle - Settle promises concurrently and get their fulfillment value or rejection reason
- p-memoize - Memoize promise-returning & async functions
- p-whilst - Calls a function repeatedly while a condition returns true and then resolves the promise
- p-throttle - Throttle promise-returning & async functions
- p-debounce - Debounce promise-returning & async functions
- p-retry - Retry a promise-returning or async function
- p-wait-for - Wait for a condition to be true
- p-timeout - Timeout a promise after a specified amount of time
- p-race - A better `Promise.race()`
- p-try - `Promise#try()` ponyfill - Starts a promise chain
- p-finally - `Promise#finally()` ponyfill - Invoked when the promise is settled regardless of outcome
- p-any - Wait for any promise to be fulfilled
- p-some - Wait for a specified number of promises to be fulfilled
- p-pipe - Compose promise-returning & async functions into a reusable pipeline
- p-each-series - Iterate over promises serially
- p-map-series - Map over promises serially
- p-reduce - Reduce a list of values using promises into a promise for a value
- p-props - Like `Promise.all()` but for `Map` and `Object`
- promise-method - Standalone `bluebird.method`. Turn a synchronously-returning method into a promise-returning one.
- is-promise - Determine if something looks like a Promise.
- sprom - Resolve when a stream ends. Optional buffering (be careful with this!)
- task.js - Write async functions in a blocking style using promises and generators. Like `bluebird.coroutine`.
- co - Like `task.js` and `bluebird.coroutine`, but supports thunks too.
- lie-fs - Promise wrappers for Node's FS API.
- promise-do-until - Calls a function repeatedly until a condition returns true and then resolves the promise.
- promise-do-whilst - Calls a function repeatedly while a condition returns true and then resolves the promise.
- promise-semaphore - Push a set of work to be done in a configurable serial fashion
- promise-nodeify - Standalone `nodeify` method which calls a Node-style callback on resolution or rejection.
- Creative Commons CC0 License
Programming Languages
Keywords
promises
6
promise
6
promise-modules
3
promise-library
3
nodejs
3
javascript
3
async-functions
3
async
3
concurrency
2
iteration
2
polyfill
2
es6-promise
2
flow-control
2
async-await
2
promise-queue
2
awesome-list
1
awesome
1
list
1
ponyfill
1
promise-patterns
1
promise-nodeify
1
nodeify
1
parallel
1
mapper
1
await
1
queue-data-stucture
1
queue
1
npm-package
1
node-module
1
async-queue
1
promisify
1
promise-utilities
1
fantasy-land
1
coroutines
1
asynchronous
1
async-programming
1
unicorns
1
resources
1