function deferredPromise () { let res, rej const promise = new Promise((resolve, reject) => { [res, rej] = [resolve, reject] }) promise.resolve = res promise.reject = rej return promise }