0.4.1 • Published 4 years ago

promalom v0.4.1

Weekly downloads
22
License
ISC
Repository
github
Last release
4 years ago

Promalom

Greenkeeper badge

A very tiny promise util library, designed to work with native Promise functionality. https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Promise

Very small in file size, very specific in functionality.

This library is intended for the Node environment. It can work well in the browser, however makes no attempt to polyfill Promise.

npm version

Getting Started

Installing the package

npm install --save promalom

Importing the library

// import the whole library
const P = require("promalom");

// explicitly requiring individual functions through destructuring
const { create, wait, series } = require("promalom");

// explicitly requiring individual functions from their source files
const series = require("promalom/src/series");

Functions

Series

Run the specified promise returning functions in series. Ensures the previous promise is resolved before starting the current.

P.series([
  myPromiseReturningFunction,
  anotherPromiseReturningFunction,
  someOtherPromiseReturningFunction
]);

Upload files one at a time using series

Assuming uploadFile is a function that takes the filename and returns a promise that resolves once uploaded

const fileNames = ["image1.jpg", "image2.jpg", "image3.jpg"];

P.series(
  fileNames.map(fileName => {
    return () => uploadFile(fileName);
  })
);

Wait

Wait the specified time in milliseconds and then resolve. Wraps setTimeout.

P.wait(20);

Call a promise returning function with timeout of 1 second

Promise.race(P.wait(1000), promiseReturningFunction);

Flush Promises

Flushes all pending promises in the JavaScript process queue. This is very useful in tests where you have Promises that are resolved immediately but you have no way to return or await them in your test.

P.flushPromises();

Promisify

Convert a callback returning function to return a promise. The callback must be the last parameter. The callback is expected to follow the Node error first callback pattern, where the first parameter of the callback is error.

const fs = require('fs');

const readFileP = P.promisify(fs.readFile);

readFileP('/etc/passwd').then(data => {
    ...
}).catch(error => {
    ...
});
0.4.1

4 years ago

0.4.0

5 years ago

0.3.0

8 years ago

0.2.0

8 years ago

0.1.0

8 years ago

0.0.6

8 years ago

0.0.5

8 years ago

0.0.4

8 years ago

0.0.3

8 years ago

0.0.2

8 years ago

0.0.1

8 years ago