Skip to content

Like `Promise.all()` but for `Map` and `Object`

License

Notifications You must be signed in to change notification settings

0xButterfield/p-props

 
 

Repository files navigation

p-props

Like Promise.all() but for Map and Object

Useful when you need to run multiple promises concurrently and keep track of the fulfilled values by name.

Install

$ npm install @0xbutterfield/p-props

Usage

import pProps from 'p-props';
import got from 'got';

const fetch = async url => {
	const {body} = await got(url);
	return body;
};

const sites = {
	ava: fetch('https://avajs.dev'),
	todomvc: fetch('https://todomvc.com'),
	github: fetch('https://github.com'),
	foo: 'bar'
};

console.log(await pProps(sites));
/*
{
	ava: '<!doctype …',
	todomvc: '<!doctype …',
	github: '<!doctype …',
	foo: 'bar'
}
*/

API

pProps(map, options?)

Returns a Promise that is fulfilled when all promises in map are fulfilled, or rejects if any of the promises reject. The fulfilled value is the same as map, but with a fulfilled version of each entry value.

map

Type: Map | object

Resolves entry values that are promises. Other values are passed through.

options

Type: object

See the p-map options.

Related

  • p-all - Run promise-returning & async functions concurrently with optional limited concurrency
  • p-map - Map over promises concurrently
  • More…

About

Like `Promise.all()` but for `Map` and `Object`

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 66.6%
  • TypeScript 33.4%