DEV Community

Lam
Lam

Posted on

1 1

Promises Cheat Sheet

[Reference] Converting other promises

return Promise.resolve('result')
return Promise.resolve(promise)
return Promise.resolve(thenable)

return Promise.reject('reason')

Promise.resolve(result).then(() => {
  /* ... */
})
Enter fullscreen mode Exit fullscreen mode

Promise.resolve(val) will return a promise that resolves to the value given to it.

[Reference] Multiple promises

const promises = [promise1(), promise2() /* ... */]
Enter fullscreen mode Exit fullscreen mode
// Succeeds when all succeed
Promise.all(promises).then((results) => {
  /* ... */
})
Enter fullscreen mode Exit fullscreen mode
// Succeeds when one finishes first
Promise.race(promises).then((result) => {
  /* ... */
})
Enter fullscreen mode Exit fullscreen mode

[Reference] Consuming promises

promise
  .then((result) => {
    /* success */
  })
  .catch((error) => {
    /* failure */
  })
Enter fullscreen mode Exit fullscreen mode

then() runs a function when a promise resolves. catch() runs when a promise fails.

[Reference] Creating promises

new Promise((resolve, reject) => {
  doStuff(() => {
    if (success) {
      resolve('good')
    } else {
      reject(new Error('oops'))
    }
  })
})
Enter fullscreen mode Exit fullscreen mode

Use new Promise to create new promises.

[Reference] Introduction

Intro: A quick reference to the JavaScript Promise API.

Image of Timescale

🚀 pgai Vectorizer: SQLAlchemy and LiteLLM Make Vector Search Simple

We built pgai Vectorizer to simplify embedding management for AI applications—without needing a separate database or complex infrastructure. Since launch, developers have created over 3,000 vectorizers on Timescale Cloud, with many more self-hosted.

Read more

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs