promise-tool
v1.1.5
Published
A promised library of tools for Node.js and the browser.
Maintainers
Readme
Promise Tool
A promised library of tools for Node.js and the browser.
Install
npm install promise-tool --save
API
PromiseTool.lift()Lifts a callback style function or prototype object and converts to a promise/s first argument must be an error.PromiseTool.seriesA given task will not be started until the preceding task completes.tasksThe array of functions to execute in series.taskA function which returns a promise.resolve(result)A result which will be appended to the end of each task/function as parameter.
parametersAn Array of parameters to be passed to each task/function. Optional
PromiseTool.setTimeoutdelayThe number of milliseconds to wait before calling resolve....argsOptional arguments to pass when the resolve is executed.
PromiseTool.setIntervaldelayThe number of milliseconds to wait before calling resolve.methodA function that repeats on each interval. This function will fire upon each interval unless one of the following returns are implemented.- Return Value Actions
resultAny valid JavaScript error type. Will fire the reject and pass the error.resultA boolean that calls resolve if true or reject if false.resultAny thing returned besidesnull,undefined,false, and a validErrortype will resolve with that return value as the first argument.result<Null, Undefined> Both are ignored and will not trigger the resolve or reject.
- Return Value Actions
...argsOptional arguments to pass when the resolve is executed.
PromiseTool.setImmediate...argsOptional arguments to pass when the resolve is executed.
PromiseTool.clearTimeouttimeoutA Timeout object as returned by setInterval().
PromiseTool.clearIntervalintervalA Interval object as returned by setInterval().
PromiseTool.clearImmediateimmediateAn Immediate object as returned by setImmediate().
Examples
Series
var PromiseTool = require('../index.js');
function a (one, two) {
return new Promise (function (resolve) {
setTimeout(function () {
return resolve(`a-${one}${two}`);
}, 900);
});
}
function b (one, two, result) {
return new Promise (function (resolve) {
setTimeout(function () {
result = `${result} b-${one}${two}`;
return resolve(result);
}, 600);
});
}
PromiseTool.series([a, b], [1, 2]).then(function (result) {
console.log(result); // a-12 b-12
});Timers
var PromiseTool = require('promise-timers');
var delay = 500;
PromiseTool.setTimeout(delay).then(function (args) {
// this refers to timeout
console.log(args);
console.log('timeout done');
});
var i = 0;
function method () {
// this refers to interval
if (i > 5) {
return true;
} else {
console.log(i);
i++;
}
};
PromiseTool.setInterval(delay, method).then(function (args) {
// this refers to interval
console.log(args);
console.log('interval done');
});
PromiseTool.setImmediate().then(function (args) {
// this refers to immediate
console.log(args);
console.log('immediate done');
});
Authors
License
Why You Should Choose MPL-2.0 This project is licensed under the MPL-2.0 License
