Skip to content

Instantly share code, notes, and snippets.

@gostrafx
Created May 19, 2019 22:21
Show Gist options
  • Save gostrafx/aa16a5836f135457d7c023808d30767e to your computer and use it in GitHub Desktop.
Save gostrafx/aa16a5836f135457d7c023808d30767e to your computer and use it in GitHub Desktop.
Javascript Promises

Based on the [Promise API reference][promise] (mozilla.org).

promise

Creating promises

new Promise(function (ok, err) {
  doStuff(function () {
    if (success) { ok(); }
    else { err(); }
  });
})

Consuming promises

promise
  .then(okFn, errFn)
  .catch(errFn)

Multiple promises

var promises = [
  promise1(), promise2(), ...
]

// succeeds when all succeed
Promise.all(promises)
  .then(function (results) {
  });

// succeeds when one finishes first
Promise.race(promises)
  .then(function (result) {
  });

Converting other promises

return Promise.resolve("result");
return Promise.resolve(promise);
return Promise.resolve(thenable);

return Promise.reject("reason");

Promise.resolve($.get('http://google.com'))
.then(...)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment