Socket
Socket
Sign inDemoInstall

p-reduce

Package Overview
Dependencies
0
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    p-reduce

Reduce a list of values using promises into a promise for a value


Version published
Maintainers
1
Install size
4.82 kB
Created

Package description

What is p-reduce?

The p-reduce npm package is a utility that allows you to reduce a list of values using promises in series. It is particularly useful when you need to perform a series of asynchronous operations in sequence and combine their results into a single value.

What are p-reduce's main functionalities?

Promise Reduction

This feature allows you to reduce an array of promises to a single promise that resolves to a value. The code sample demonstrates how to sum a series of numbers wrapped in promises.

const pReduce = require('p-reduce');
const promiseArray = [Promise.resolve(1), Promise.resolve(2), Promise.resolve(3)];
pReduce(promiseArray, (total, value) => Promise.resolve(total + value), 0).then(result => console.log(result)); // 6

Other packages similar to p-reduce

Readme

Source

p-reduce Build Status

Reduce a list of values using promises into a promise for a value

Useful when you need to calculate some accumulated value based on async resources.

Install

$ npm install --save p-reduce

Usage

const pReduce = require('p-reduce');
const humanInfo = require('human-info'); // not a real module

const names = [
	getUser('sindresorhus').then(info => info.name),
	'Addy Osmani',
	'Pascal Hartig',
	'Stephen Sawchuk'
];

pReduce(names, (total, name) => {
	return humanInfo(name).then(info => total + info.age);
}, 0).then(totalAge => {
	console.log(totalAge);
	//=> 125
});

API

pReduce(input, reducer, [initialValue])

Returns a Promise that is fulfilled when all promises in input and ones returned from reducer are fulfilled, or rejects if any of the promises reject. The fulfilled value is the result of the reduction.

input

Type: Iterable<Promise|any>

Iterated over serially in the reducer function.

reducer(previousValue, currentValue, index)

Type: Function

Expected to return a value. If a Promise is returned, it's awaited before continuing with the next iteration.

initialValue

Type: any

Value to use as previousValue in the first reducer invocation.

License

MIT © Sindre Sorhus

Keywords

FAQs

Last updated on 21 Oct 2016

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.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc