0.0.4 • Published 8 months ago
@converse/openpromise v0.0.4
openpromise
JavaScript promises require that you call reject or resolve inside the closure of the created promise.
For example:
const promise = new Promise((resolve, reject) => {
// We have to call resolve or reject here, inside the closure
});
// We can't resolve the promise here, outside of the closureThis package lets you create an open promise. This is a normal JavaScript
Promise, but with its resolve and reject callbacks set as attributes on the promise itself.
This lets you resolve or reject the promise outside of its closure.
For example:
import { getOpenPromise } from 'openpromise';
const promise = getOpenPromise();
const func = setTimeout(() => promise.resolve(), 1000);
return promise;Promise.withResolvers
This package predates the newer built-in Promise.withResolvers static method.
However, it's been updated to make use of Promise.withResolvers in case it's available.