Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

promise-any-series

Package Overview
Dependencies
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

promise-any-series

Given an array of methods that return promises, execute in series and return true if any satisfy a test.

  • 0.0.1
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
1
Maintainers
1
Weekly downloads
 
Created
Source

Promise Any Series

Given an array of methods that return promises, execute in series and return true if any satisfy a test.

This library is useful when having a set of prioritized promises to check, and you'd like to test the fast(cheap) calls first, short circuiting after the first one to pass a test.

For example, if you needed to check several conditions, involving synchronous code(fast), local database calls(less fast), and third party services(slow), you'd want to execute the fast one first, followed by the slower ones, and so forth.

Installation

$ npm install promise-any-series

Basic Usage

var anySeries = require('promise-any-series');

var superFast = function() {
  return new Promise(function(resolve, reject) {
    console.log('superFast ran!');
    resolve('foo');
  });
};

var sortaSlow = function() {
  return new Promise(function(resolve, reject) {
    console.log('sortaSlow ran!');
    resolve(100);
  });
};

var superDuperSlow = function() {
  return new Promise(function(resolve, reject) {
    console.log('superDuperSlow ran!');
    resolve('bar');
  });
};

anySeries([superFast, sortaSlow, superDuperSlow], function(value) {
  return typeof value == 'number'; //the first promise to pass the test will immediately resolve true
}).then( (result) => {
  console.log(result);
});

This will print:

superFast ran!     //does not pass test
sortaSlow ran!     //passes test
true               //note that superDuperSlow did not run

Inputs

Empty arrays or failing to provide a valid callback immediately resolve as false.

anySeries([]).then(function(data) {
  console.log(results); //false
});

This will print:

false

Keywords

FAQs

Package last updated on 18 Apr 2015

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc