step-by-step
TypeScript icon, indicating that this package has built-in type declarations

1.0.8 • Public • Published

step-by-step

A simple way to execute a group of ES6 promises in a synchronous manner.

How to use

In this example a synthetic Promise is used to show how runSync works. The input array for runSync should contain functions which return the Promises that will be executed in a synchronous way.

const runSync = require('step-by-step').runSync;
 
const createPromise = (param) => {
  return () => {
    return new Promise(resolve => {
 
      const [planet, stopFor] = param;
 
      setTimeout(() => {
        console.log(planet);
        resolve(planet);
      }, stopFor);
    });
  };
};
 
const promiseArray = [
  createPromise(['Mercury', 220]),
  createPromise(['Venus', 100]),
  createPromise(['Earth', 1]),
  createPromise(['Mars', 150])
];
 
// Output: Mercury, Venus, Earth, Mars
const results = runSync(promiseArray);
 
// Output: [ 'Mercury', 'Venus', 'Earth', 'Mars' ]
results.then(console.log);

Looks a bit bulky? If all the promise factory related stuff is left out it looks way cleaner:

const runSync = require('step-by-step').runSync;
 
const promises = [
  () => fetch('http://a'),
  () => fetch('http://b'),
  () => fetch('http://c')
];
 
runSync(promises);

Changelog

  • 1.0.8 - updated dev dependencies
  • 1.0.6 - changed typings
  • 1.0.4 - fix wrong export 😀
  • 1.0.2 - add typings see #1

Package Sidebar

Install

npm i step-by-step

Weekly Downloads

4

Version

1.0.8

License

MIT

Unpacked Size

5.6 kB

Total Files

10

Last publish

Collaborators

  • iso50