Create a promise that can be resolved and rejected programatically outside of it
It basically extracts the resolve
and reject
callbacks so you can call them whenever you need.
npm i faked-promise
faked-promise exports one single function that takes no arguments and returns an array with 3 elements:
- A real promise
- Its
resolve
callback - Its
reject
callback
Meaning you can control exactly when the promise is resolved or rejected:
const fakePromise = require('faked-promise')
const [promise, resolve, reject] = fakePromise()
promise.then(() => {})
resolve('any value')