promise-tool v1.1.5
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. OptionalPromiseTool.setTimeout-delayThe number of milliseconds to wait before calling resolve. -...argsOptional arguments to pass when the resolve is executed.
PromiseTool.setInterval-delayThe 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. -...argsOptional arguments to pass when the resolve is executed.
PromiseTool.setImmediate-...argsOptional arguments to pass when the resolve is executed.
PromiseTool.clearTimeout-timeoutA Timeout object as returned by setInterval().
PromiseTool.clearInterval-intervalA Interval object as returned by setInterval().
PromiseTool.clearImmediate-immediateAn 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