p-any
Wait for any promise to be fulfilled
Last updated 5 years ago by sindresorhus .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install p-any 
SYNC missed versions from official npm registry.

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…

Current Tags

  • 4.0.0                                ...           latest (5 years ago)

6 Versions

  • 4.0.0                                ...           5 years ago
  • 3.0.0                                ...           6 years ago
  • 2.1.0                                ...           7 years ago
  • 2.0.0                                ...           7 years ago
  • 1.1.0                                ...           9 years ago
  • 1.0.0                                ...           9 years ago
Maintainers (1)
Downloads
Today 0
This Week 54
This Month 81
Last Day 3
Last Week 63
Last Month 471
Dependencies (2)
Dev Dependencies (4)

Copyright 2013 - present © cnpmjs.org | Home |