Skip to content

Latest commit

 

History

47 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Join the chat NPM version Build status Test coverage Dependency Status License Downloads

Promises/A+ logo

nano-promise

A small Promise/A++ node module.

Usage

var Promise = require('nano-promise');

new Promise(function (resolve, reject) {
	resolve(1, 2, 3, 4); // you can pass several arguments
}).then(function (a, b, c, d) {
	console.log(a, b, c, d); // 1 2 3 4
	return new Promise.Arguments(5, 6, 7, 8); // and return
}).then(function (a, b, c, d) {
	console.log(a, b, c, d); // 5 6 7 8
});

Extensions

Promise.resolve(...)

Promise.resolve(5, 'a')
	.then(function (a, b) {
		console.log(a, b);
	});

Like Promise.all() but ...

function timer(ms, value) {
	return new Promise(function (resolve, reject) {
		var to = setTimeout(function () {
				resolve(value);
			}, ms);
		return { cancel: function () {
			clearTimeout(to); // can be called in pending state one time only
		}};
	});
}

Promise.resolve(timer(1000, 'go'), timer(800, 'up'))
	.then(function (a, b) {
		console.log(a, b); // 'go', 'up'
	});

Promise.concat(array)

  • array {Array} - array of Promises or values
Promies.concat([
	new Promise(function (resolve, reject) {
		resolve(1, 2, 3, 4);
	},
	new Promise(function (resolve, reject) {
		resolve(4, 5, 6, 7);
	}])
	.then(function (a,b,c,d,e,f,g,h) {
		console.log(a,b,c,d,e,f,g,h); // 1 2 3 4 5 6 7 8
	});

promise.cancel()

function timer(ms) {
	return new Promise(function (resolve, reject) {
		var to = setTimeout(resolve, ms);
		return { cancel: function () {
			clearTimeout(to); // can be called in pending state one time only
		}};
	});
}

timer(1000).then(function () {
		console.log('timeout');
	}, function (r) {
		if (r === Promise.CANCEL_REASON)
			console.log('cancelled');
	}).cancel();

About

A small Promise/A+ node module

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages