Convert promise to bluebird

ThomasReggi picture ThomasReggi · Jun 15, 2015 · Viewed 11.5k times · Source

I found an existing library that uses promises, however it doesn't use bluebird. The library functions don't come with all the extra features bluebird does like .map() or .tap(). How do I convert a "normal" or "non-bluebird" promise to a bluebird one, with all the extra features bluebird offers?

I tried wrapping the existing promise in Promise.promisify and Promise.resolve and neither seemed to work.

Answer

Bergi picture Bergi · Jun 15, 2015

Use Promise.resolve - it will take any thenable, like a promise from some other implementation, and assimilate it into a Bluebird promise.

Keep in mind that the term "resolve" can be misleading, it does not mean the same as "fulfill" but can also follow another promise and settle to its result.