adminko
9/19/2017 - 7:50 PM

Promises

Promises

function r(delay){
	return new Promise((resolve, reject) => {
		setTimeout(function(){
			return resolve({n:Math.round(Math.random(100) * 1000)});
		}, delay);
	}); 
}
var result = [];

Promise.all([r(1), r(2)])
.then(function(data) {
	result = [{a},{b}] = data;
})
.then(function (data){
	return Promise.race([r(3),r(4),r(5)]);
})
.then(function (data){
	console.log([[{n:a},{n:b}],{n:c}] = [result,data]);
})