Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save eric-gitta-moore/8866989fb7cd5a2c94d94806e92a840d to your computer and use it in GitHub Desktop.
Save eric-gitta-moore/8866989fb7cd5a2c94d94806e92a840d to your computer and use it in GitHub Desktop.
Promise.withResolvers() polyfill
if (typeof Promise.withResolvers === 'undefined') {
Promise.withResolvers = function () {
let resolve, reject
const promise = new Promise((res, rej) => {
resolve = res
reject = rej
})
return { promise, resolve, reject }
}
}
// Usage:
// const { promise, resolve, reject } = Promise.withResolvers()
// console.log(promise, resolve, reject) // Promise { <pending> } [Function (anonymous)] [Function (anonymous)]
// ... Do something async and then call resolve or reject!
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment