one-by-one

Run async tasks one by one.
If you want to run async functions in parallel, check out same-time
.
:cloud: Installation
$ npm i --save one-by-one
:clipboard: Example
const oneByOne = require("one-by-one");
oneByOne([
cb => {
setTimeout(function () {
cb(null, "Hello World");
}, 1000);
}
, (cb, data) => {
console.log(data);
setTimeout(function () {
cb(new Error("Some error"));
}, 100);
}
, cb => {
cb(null, null);
}
], (err, data) => {
console.log(err, data);
});
oneByOne([
Math.random() > 0.5 ? next => {
console.log("Generated a random number greater than 0.5.");
next();
} : null
, cb => setTimeout(
() => cb(null, "Hello World")
, 1000
)
, (cb, prev) => setTimeout(
() => cb(null, prev.replace("World", "Mars"))
, 1000
)
], (err, data, message) => {
console.log(err, data, message);
});
:memo: Documentation
oneByOne(arr, cb)
Calls functions one by one and memorizes the results.
Params
- Array
arr
: An array of functions getting the callback parameter in the first argument and response arguments from the previous function call. - Function
cb
: The callback function called with an error (or null
) and the results array.
Return
- oneByOne The
oneByOne
function.
:yum: How to contribute
Have an idea? Found a bug? See how to contribute.
:moneybag: Donations
Another way to support the development of my open-source modules is
to set up a recurring donation, via Patreon. :rocket:
PayPal donations are appreciated too! Each dollar helps.
Thanks! :heart:
:dizzy: Where is this library used?
If you are using this library in one of your projects, add it in this list. :sparkles:
asyncer.js
—Run groups of (a)sync functions.babel-it
—Babelify your code before npm publish
.blah
—A command line tool to optimize the repetitive actions.cdnjs-importer
—Easy way to import a library into CDNJS.cobol
—COBOL bridge for NodeJS which allows you to run COBOL code from NodeJS.engine-tools
(by jillix)—Engine Tools library and CLI app.fortran
—Fortran bridge for Node.js which allows you to run Fortran code from Node.js.gif-cli
—Gif animations in your terminal!git-package-json
—Get the package.json contents from git repositories.git-stats-importer
—Imports your commits from a repository into git-stats history.gpm
—npm + git = gpm - Install NPM packages and dependencies from git repositories.gry
—A minimalist NodeJS wrapper for the git
commands. gry
stands for the Git RepositorY.image-to-ascii
—A Node.JS module that converts images to ASCII art.made-in-brazil
—A list of neat projects made in Brazil.made-in-india
—A list of neat projects made in India.made-in-romania
—A list of cool projects made in Romania.nodeice
—Another PDF invoice generatornp-init
—Easily start a npm package from scratch.ship-release
—Publish new versions on GitHub and npm with ease.ssh-remote
—Automagically switch on the SSH remote url in a Git repository.tester-init
—Init tests for tester.tilda-init
—Init cli applications.
:scroll: License
MIT © Ionică Bizău