
Product
Introducing the Alert Details Page: A Better Way to Explore Alerts
Socket's new Alert Details page is designed to surface more context, with a clearer layout, reachability dependency chains, and structured review.
Inspect the state of a promise
You would usually not need this as you can just await the promise at any time to get its value even after it's resolved. This package could be useful if you need to check the state of the promise before doing a heavy operation or for assertions when writing tests.
Vote up this issue if you want to see this feature being included in Node.js itself.
npm install p-state
import timers from 'node:timers/promises';
import {promiseStateSync} from 'p-state';
const timeoutPromise = timers.setTimeout(100);
console.log(promiseStateSync(timeoutPromise));
//=> 'pending'
await timeoutPromise;
console.log(promiseStateSync(timeoutPromise));
//=> 'fulfilled'
promiseStateAsync(promise: Promise)Asynchronously inspect the state of a promise.
Returns a promise for the state as a string with the possible values: 'pending', 'fulfilled', 'rejected'.
Note: While this is async, it does return the state in the next microtask, which is almost right away.
import timers from 'node:timers/promises';
import {promiseStateAsync} from 'p-state';
const timeoutPromise = timers.setTimeout(100);
console.log(await promiseStateAsync(timeoutPromise));
//=> 'pending'
await timeoutPromise;
console.log(await promiseStateAsync(timeoutPromise));
//=> 'fulfilled'
promiseStateSync(promise: Promise)Synchronously inspect the state of a promise.
Returns the state as a string with the possible values: 'pending', 'fulfilled', 'rejected'.
Note: This method does not work in the browser.
FAQs
Inspect the state of a promise
We found that p-state demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Product
Socket's new Alert Details page is designed to surface more context, with a clearer layout, reachability dependency chains, and structured review.

Product
Campaign-level threat intelligence in Socket now shows when active supply chain attacks affect your repositories and packages.

Research
Malicious PyPI package sympy-dev targets SymPy users, a Python symbolic math library with 85 million monthly downloads.