Get unlimited public & private packages + package-based permissions with npm Pro.Get started »

p-any

3.0.0 • Public • Published

p-any Build Status

Wait for any promise to be fulfilled

Useful when you need the fastest promise.

You probably want this instead of Promise.race(). Reason.

Install

$ npm install p-any

Usage

Checks 3 websites and logs the fastest.

const got = require('got');
const pAny = require('p-any');
 
(async () => {
    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|any>

options

Type: object

filter

Type: Function

Receives the value resolved by the promise. Used to filter out values that doesn't satisfy a condition.

pAny.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…

Install

npm i p-any

DownloadsWeekly Downloads

327,584

Version

3.0.0

License

MIT

Unpacked Size

5.38 kB

Total Files

5

Last publish

Collaborators

  • avatar