sindresorhus/p-is-promise

Check if something is a promise

JavaScript

44

19 commits

updated Sep 18, 2026

See the code

README

p-is-promise

Check if something is a promise

Why not is-promise? That module checks for a thenable, not an ES2015 promise. This one is stricter.

You most likely don't need this. Just pass your value to Promise.resolve() and let it handle it.

Can be useful if you need to create a fast path for a synchronous operation.

Install

$ npm install p-is-promise

Usage

import isPromise from 'p-is-promise';
import Bluebird from 'bluebird';

isPromise(Promise.resolve('๐Ÿฆ„'));
//=> true

isPromise(Bluebird.resolve('๐Ÿฆ„'));
//=> true

isPromise('๐Ÿฆ„');
//=> false

Get professional support for this package with a Tidelift subscription
Tidelift helps make open source sustainable for maintainers while giving companies
assurances about security, maintenance, and licensing for their dependencies.

Contributors

sindresorhus

13 commits

BendingBender

1 commits

coreyfarrell

1 commits

sindresorhus/p-is-promise

Check if something is a promise

JavaScript

44

19 commits

updated Sep 18, 2026

See the code

README

p-is-promise

Check if something is a promise

Why not is-promise? That module checks for a thenable, not an ES2015 promise. This one is stricter.

You most likely don't need this. Just pass your value to Promise.resolve() and let it handle it.

Can be useful if you need to create a fast path for a synchronous operation.

Install

$ npm install p-is-promise

Usage

import isPromise from 'p-is-promise';
import Bluebird from 'bluebird';

isPromise(Promise.resolve('๐Ÿฆ„'));
//=> true

isPromise(Bluebird.resolve('๐Ÿฆ„'));
//=> true

isPromise('๐Ÿฆ„');
//=> false

Get professional support for this package with a Tidelift subscription
Tidelift helps make open source sustainable for maintainers while giving companies
assurances about security, maintenance, and licensing for their dependencies.

Contributors

sindresorhus

13 commits

BendingBender

1 commits

coreyfarrell

1 commits

Languages

JavaScript

79.9%

TypeScript

20.1%