import Bluebird from 'bluebird' function createDeferred () { let resolve: (thenableOrResult?: T | PromiseLike | undefined) => void let reject: any const promise = new Bluebird(function (_resolve, _reject) { resolve = _resolve reject = _reject }) return { //@ts-ignore resolve, reject, promise, } } export default { createDeferred, }