rittenhop-ghost/versions/5.94.2/node_modules/p-reflect
2024-09-23 19:05:38 -04:00
..
index.d.ts adding local files for running this....locally 2024-09-23 19:05:38 -04:00
index.js adding local files for running this....locally 2024-09-23 19:05:38 -04:00
license adding local files for running this....locally 2024-09-23 19:05:38 -04:00
package.json adding local files for running this....locally 2024-09-23 19:05:38 -04:00
readme.md adding local files for running this....locally 2024-09-23 19:05:38 -04:00

p-reflect Build Status

Make a promise always fulfill with its actual fulfillment value or rejection reason

Useful when you want a promise to fulfill no matter what and would rather handle the actual state afterwards.

Install

$ npm install p-reflect

Usage

Here, Promise.all would normally fail early because one of the promises rejects, but by using p-reflect, we can ignore the rejection and handle it later on.

const pReflect = require('p-reflect');

(async () => {
	const promises = [
		getPromise(),
		getPromiseThatRejects(),
		getPromise()
	];

	const results = await Promise.all(promises.map(pReflect));

	console.log(results);
	/*
	[
		{
			isFulfilled: true,
			isRejected: false,
			value: '🦄'
		},
		{
			isFulfilled: false,
			isRejected: true,
			reason: [Error: 👹]
		},
		{
			isFulfilled: true,
			isRejected: false,
			value: '🐴'
		}
	]
	*/

	const resolvedString = results
		.filter(result => result.isFulfilled)
		.map(result => result.value)
		.join('');

	console.log(resolvedString);
	//=> '🦄🐴'
})();

The above is just an example. Use p-settle if you need this.

API

pReflect(promise)

Returns a Promise<Object>.

The object has the following properties:

  • isFulfilled
  • isRejected
  • value or reason (Depending on whether the promise fulfilled or rejected)

promise

Type: Promise

A promise to reflect upon.

  • p-settle - Settle promises concurrently and get their fulfillment value or rejection reason
  • More…

License

MIT © Sindre Sorhus