@cjser/p-any
v4.0.0-cjser.2
Published
Wait for any promise to be fulfilled
Maintainers
Readme
p-any
Wait for any promise to be fulfilled
Useful when you need the fastest promise.
You probably want this instead of Promise.race(). Reason.
With Node.js 15, there's now a built-in Promise#any method. The benefit of this package is that it has cancellation functionality.
Install
$ npm install p-anyUsage
Checks 3 websites and logs the fastest.
import pAny from 'p-any';
import got from 'got';
const first = await pAny([
got.head('https://github.com').then(() => 'github'),
got.head('https://google.com').then(() => 'google'),
got.head('https://twitter.com').then(() => 'twitter'),
]);
console.log(first);
//=> 'google'API
pAny(input, options?)
Returns a cancelable Promise that is fulfilled when any promise from input is fulfilled. If all the input promises reject, it will reject with an AggregateError error.
input
Type: Iterable<Promise | unknown>
options
Type: object
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.
Related
- p-some - Wait for a specified number of promises to be fulfilled
- p-locate - Get the first fulfilled promise that satisfies the provided testing function
- 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-any
