Coder Social home page Coder Social logo

promise-tool's Introduction

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 besides null, undefined, false, and a valid Error 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.
    • ...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

AlexanderElias

License

Why You Should Choose MPL-2.0 This project is licensed under the MPL-2.0 License

promise-tool's People

Contributors

xeaone avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.