JavaScript Promises

81 resources3 categoriesView Original

Convenience Utilities(46 items)

C

co

Like `task.js` and `bluebird.coroutine`, but supports thunks too.

Convenience Utilities
D

delay

Delay a promise a specified amount of time.

Convenience Utilities
H

hard-rejection

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

Convenience Utilities
I

is-promise

Determine if something looks like a Promise.

Convenience Utilities
L

lie-fs

Promise wrappers for Node's FS API.

Convenience Utilities
L

loud-rejection

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

Convenience Utilities
P

p-all

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

Convenience Utilities
P

p-any

Wait for any promise to be fulfilled

Convenience Utilities
P

p-break

Break out of a promise chain

Convenience Utilities
P

p-catch-if

Conditional promise catch handler

Convenience Utilities
P

p-debounce

Debounce promise-returning & async functions

Convenience Utilities
P

p-defer

Create a deferred promise

Convenience Utilities
P

p-each-series

Iterate over promises serially

Convenience Utilities
P

p-filter

Filter promises concurrently

Convenience Utilities
P

p-finally

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

Convenience Utilities
P

p-if

Conditional promise chains

Convenience Utilities
P

p-lazy

Create a lazy promise that defers execution until `.then()` or `.catch()` is called

Convenience Utilities
P

p-limit

Run multiple promise-returning & async functions with limited concurrency

Convenience Utilities
P

p-log

Log the value/error of a promise

Convenience Utilities
P

p-map

Map over promises concurrently

Convenience Utilities
P

p-map-series

Map over promises serially

Convenience Utilities
P

p-memoize

Memoize promise-returning & async functions

Convenience Utilities
P

p-pipe

Compose promise-returning & async functions into a reusable pipeline

Convenience Utilities
P

p-props

Like `Promise.all()` but for `Map` and `Object`

Convenience Utilities
P

p-queue

Promise queue with concurrency control

Convenience Utilities
P

p-race

A better `Promise.race()`

Convenience Utilities
P

p-reduce

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

Convenience Utilities
P

p-retry

Retry a promise-returning or async function

Convenience Utilities
P

p-settle

Settle promises concurrently and get their fulfillment value or rejection reason

Convenience Utilities
P

p-some

Wait for a specified number of promises to be fulfilled

Convenience Utilities
P

p-tap

Tap into a promise chain without affecting its value or state

Convenience Utilities
P

p-throttle

Throttle promise-returning & async functions

Convenience Utilities
P

p-time

Measure the time a promise takes to resolve

Convenience Utilities
P

p-timeout

Timeout a promise after a specified amount of time

Convenience Utilities
P

p-times

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

Convenience Utilities
P

p-try

`Promise#try()` ponyfill - Starts a promise chain

Convenience Utilities
P

p-wait-for

Wait for a condition to be true

Convenience Utilities
P

p-whilst

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

Convenience Utilities
P

pify

Promisify ("denodify") a callback-style function.

Convenience Utilities
P

promise-do-until

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

Convenience Utilities
P

promise-do-whilst

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

Convenience Utilities
P

promise-method

Standalone `bluebird.method`. Turn a synchronously-returning method into a promise-returning one.

Convenience Utilities
P

promise-nodeify

Standalone `nodeify` method which calls a Node-style callback on resolution or rejection.

Convenience Utilities
P

promise-semaphore

Push a set of work to be done in a configurable serial fashion

Convenience Utilities
S

sprom

Resolve when a stream ends. Optional buffering (be careful with this!)

Convenience Utilities
T

task.js

Write async functions in a blocking style using promises and generators. Like `bluebird.coroutine`.

Convenience Utilities

Promises/A+ Implementations (ES6/ES2015 compati...(13 items)

A

any-promise

Loads the first available implementation. Safe for browserify.

Promises/A+ Implementations (ES6/ES2015 compati...
B

bluebird

Fully featured, extremely performant. Long stack traces & generator/coroutine support.

Promises/A+ Implementations (ES6/ES2015 compati...
C

creed

Hyper performant & full featured like Bluebird, but FP-oriented. Coroutines, generators, promises, ES2015 iterables, & fantasy-land spec.

Promises/A+ Implementations (ES6/ES2015 compati...
E

es6-promise

Opt-in polyfill. A strict-spec subset of rsvp.js.

Promises/A+ Implementations (ES6/ES2015 compati...
L

lie

Small, browserifyable with an opt-in polyfill.

Promises/A+ Implementations (ES6/ES2015 compati...
N

native-or-bluebird

Helps transition to completely native.

Promises/A+ Implementations (ES6/ES2015 compati...
N

native-promise-only

Polyfill. Browser and node-compatible.

Promises/A+ Implementations (ES6/ES2015 compati...
P

pinkie

Ponyfill. Node-oriented, but browserifyable. *Extremely* small implementation.

Promises/A+ Implementations (ES6/ES2015 compati...
P

pinkie-promise

Use native, or fall back to `pinkie`. Great for node library authors.

Promises/A+ Implementations (ES6/ES2015 compati...
Q

Q

One of the original implementations. Long stack traces and other goodies.

Promises/A+ Implementations (ES6/ES2015 compati...
R

rsvp.js

Lightweight with a few extras. Compatible down to IE6!

Promises/A+ Implementations (ES6/ES2015 compati...
T

then/promise

Small with `nodeify`, `denodify` and `done()` additions.

Promises/A+ Implementations (ES6/ES2015 compati...
W

when.js

Packed with control flow, functional, and utility methods.

Promises/A+ Implementations (ES6/ES2015 compati...

Resources, Blogs, and Books(22 items)

A

An Incremental Tutorial on Promises

An FAQ styled tutorial for beginners.

Resources, Blogs, and Books
A

Async functions - making promises friendly

Resources, Blogs, and Books
C

caniuse promises

Resources, Blogs, and Books
E

ES6 Kata Promises

Promises Katas : Basics

Resources, Blogs, and Books
E

ES6 Promises in Depth

Resources, Blogs, and Books
F

Fates and States

Quick definitions of possible states.

Resources, Blogs, and Books
J

Javascript Promises...In Wicked Detail

Recreate the promise implementation

Resources, Blogs, and Books
J

JavaScript Promises: an Introduction

Basics of JavaScript's native promise implementation.

Resources, Blogs, and Books
J

JavaScript with Promises

from O'Reilly. Short and to-the-point. Uses native and bluebird.

Resources, Blogs, and Books
P

Promise anti-patterns

Common misuses and how to avoid them.

Resources, Blogs, and Books
P

Promise anti-patterns (2)

Another set of promises anti-patterns

Resources, Blogs, and Books
P

Promise Cookbook

The why, what, and how. "A brief introduction [...] primarily aimed at frontend developers".

Resources, Blogs, and Books
P

Promise Fun

@sindresorhus's notes, patterns, and solutions to common Promise problems

Resources, Blogs, and Books
P

Promise it won't hurt

An interactive nodeschool workshop

Resources, Blogs, and Books
P

Promise Ponderings, (Anti-)Patterns, and Apologies

Promise behaviour demonstrated and explained by common questions and their answers.

Resources, Blogs, and Books
P

Promisees

Promise visualization playground for the adventurous.

Resources, Blogs, and Books
P

Promises for Asynchronous Programming

Chapter from Exploring ES6

Resources, Blogs, and Books
P

Promises/A+ specification

Resources, Blogs, and Books
W

We have a problem with promises

"Many of us are using promises without really understanding them."

Resources, Blogs, and Books
W

Writing Promise-Using Specifications

"This document gives guidance on how to write specifications that create, accept, or manipulate promises"

Resources, Blogs, and Books
Y

You Don't Know JS: Promises

Chapter from You Don't Know JS: Async & Performance

Resources, Blogs, and Books
Y

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.

Resources, Blogs, and Books