@cjser/p-some__v6_0_0
v6.0.0-cjser.2
Published
Wait for a specified number of promises to be fulfilled
Downloads
15
Maintainers
Readme
p-some
Wait for a specified number of promises to be fulfilled
Useful when you need the fastest of multiple promises.
Install
$ npm install p-someUsage
Checks 4 websites and logs the 2 fastest.
import got from 'got';
import pSome from 'p-some';
const input = [
got.head('github.com').then(() => 'github'),
got.head('google.com').then(() => 'google'),
got.head('twitter.com').then(() => 'twitter'),
got.head('medium.com').then(() => 'medium')
];
const [first, second] = await pSome(input, {count: 2});
console.log(first, second);
//=> 'google twitter'API
pSome(input, options)
Returns a cancelable Promise that is fulfilled when count promises from input are fulfilled. The fulfilled value is an Array of the values from the input promises in the order they were fulfilled. If it becomes impossible to satisfy count, for example, too many promises rejected, it will reject with an AggregateError error.
If you pass in cancelable promises, specifically promises with a .cancel() method, that method will be called for the promises that are still unfulfilled when the returned Promise is either fulfilled or rejected.
input
Type: Iterable<Promise | unknown>
An Iterable collection of promises/values to wait for.
options
Type: object
count
Required
Type: number
Minimum: 1
Number of promises from input that have to be fulfilled until the returned promise is fulfilled.
filter
Type: Function
Receives the value resolved by the promise. Used to filter out values that doesn't satisfy a condition.
AggregateError
Exposed for instance checking.
FilterError
Exposed for instance checking.
Related
- p-any - Wait for any promise to be fulfilled
- p-one - Return
trueif any promise passes a testing function, similar toArray#some - More…
cjser
This package is a CommonJS-compatible build generated by cjser for projects that still need require() support. The source version matches the original npm package version, with a cjser prerelease suffix for this generated build.
Original repository: https://github.com/sindresorhus/p-some
