1.0.1 • Published 7 years ago
make-thenable v1.0.1
make-thenable
Make an object thenable without a fuss
What it does
const makeThenable = require('make-thenable')
const promiseLike = {}
const [resolve, reject] = makeThenable(promiseLike)Now, the given object behaves exactly like a good little Promise: you can add callbacks through promiseLike.then and promiseLike.catch, and resolve/reject through the return values.
That is because it is now linked to a real Promise. Consequently, in Internet Explorer, you need a polyfill.
Also resolvable
const makeThenable = require('make-thenable/resolvable')
const promiseLike = makeThenable({})This gives you the same functionality as above, plus promiseLike.resolve and promiseLike.reject.
Why it exists
Sometimes, you need an arbitrary object to behave like a Promise. In times like these, just make it thenable and be happy.
After writing the original version, I came across
an article by Lea Verou,
and thought I'd cover her use-case as well.
That's why there's make-thenable/resolvable