Promises

by Rajdeep Chandra

JavaScript

//1st promise
let cleanTheRoom = function() {
  return new Promise(function(resolve, reject) {
    resolve("Cleaned the room");
  });
};

let takeGarbageOut = function(message){
return new Promise(function(resolve, reject) {
    resolve(message + "Removed the garbage");
  });
};

let winIcecream = function(message){
return new Promise(function(resolve, reject) {
    resolve(message + "won Icecream");
  });
};

//to execute step by step putting dependency
cleanTheRoom().then(function(result){
	return takeGarbageOut(result);
}).then(function(result){
 return winIcecream(result);
}).then(function(result){
	console.log("Finished" + result);
});

//use all promise parallel
Promise.all([cleanTheRoom(),takeGarbageOut(),winIcecream()]).then(function(){
console.log("All finished");
});

//to chekc one of them is finished
Promise.race([cleanTheRoom(),takeGarbageOut(),winIcecream()]).then(function(){
console.log("one of them finished");
})