Notwithstanding Previous Misdemeanors

    p-any
    TypeScript icon, indicating that this package has built-in type declarations

    4.0.0 • Public • Published

    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-any
    

    Usage

    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…

    Install

    npm i p-any

    DownloadsWeekly Downloads

    610,362

    Version

    4.0.0

    License

    MIT

    Unpacked Size

    5.39 kB

    Total Files

    5

    Last publish

    Collaborators

    • sindresorhus