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