123456789101112131415161718192021222324252627 |
- export function getOpenPromise () {
- const wrapper = {
- isResolved: false,
- isPending: true,
- isRejected: false
- };
- const promise = new Promise((resolve, reject) => {
- wrapper.resolve = resolve;
- wrapper.reject = reject;
- })
- Object.assign(promise, wrapper);
- promise.then(
- function (v) {
- promise.isResolved = true;
- promise.isPending = false;
- promise.isRejected = false;
- return v;
- },
- function (e) {
- promise.isResolved = false;
- promise.isPending = false;
- promise.isRejected = true;
- throw (e);
- }
- );
- return promise;
- }
|