prmsq v0.0.2
PrmsQ - Promise Queue
Wrapper for promises to allow to defer the execution.
Prerequisites
None. It only requires Promise capable version javascript interpreter. e.g. Node version(8 and higher)
$ npm -v && node -v
6.4.1
v8.16.0
Table of contents
Getting Started
clone the repository
git clone git@github.com:webduvet/promise-q.git
and from inside run the usual.
$ npm run test
$ npm run build
Installation
BEFORE YOU INSTALL: please read the prerequisites
It is standard npm package:
$ cd npm-project
$ npm install promise-q
Usage
Inside your project:
import {
PrmsQ
} from 'promise-q'
const promiseArray = new Array(...new Array(50)).map(fnReturningPromise);
// 0.1s between calls and max 5 pending promises
const pq = new PrmsQ(promiseArray, 100, 5)
pq.start();
There is an example to be found in /src/example/array-fn.js
which demonstrates throttling 50 asynchronous calls.
The promise-Q object is created with the constructor and it takes 3 arguments
APIs
() => Promise<T>[]
Number
Number
get PrmsQ.promises()
PrmsQ.start()
PrmsQ.on(event, callback): unsubscribeFn
PrmsQ.off(event, callback)
Running the tests
$ npm test
Building a distribution version
$ npm run build
This task will create a distribution version of the project
inside your local dist/
folder
Contributing
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
- Fork it!
- Create your feature branch:
git checkout -b my-new-feature
- Add your changes:
git add .
- Commit your changes:
git commit -am 'Add some feature'
- Push to the branch:
git push origin my-new-feature
- Submit a pull request :sunglasses:
Credits
TODO: Write credits
Versioning
We use SemVer for versioning. For the versions available, see the tags on this repository.
Authors
- Andrej Bartko - Initial work - AndrejBartko
See also the list of contributors who participated in this project.
License
MIT License © 2012-2022 Scott Chacon and others