promise-tool
v1.1.5
Published
A promised library of tools for Node.js and the browser.
Downloads
155
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.series
A given task will not be started until the preceding task completes.tasks
The array of functions to execute in series.task
A function which returns a promise.resolve(result)
A result which will be appended to the end of each task/function as parameter.
parameters
An Array of parameters to be passed to each task/function. Optional
PromiseTool.setTimeout
delay
The number of milliseconds to wait before calling resolve....args
Optional arguments to pass when the resolve is executed.
PromiseTool.setInterval
delay
The number of milliseconds to wait before calling resolve.method
A function that repeats on each interval. This function will fire upon each interval unless one of the following returns are implemented.- Return Value Actions
result
Any valid JavaScript error type. Will fire the reject and pass the error.result
A boolean that calls resolve if true or reject if false.result
Any thing returned besidesnull
,undefined
,false
, and a validError
type 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
...args
Optional arguments to pass when the resolve is executed.
PromiseTool.setImmediate
...args
Optional arguments to pass when the resolve is executed.
PromiseTool.clearTimeout
timeout
A Timeout object as returned by setInterval().
PromiseTool.clearInterval
interval
A Interval object as returned by setInterval().
PromiseTool.clearImmediate
immediate
An 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